2011-01-16 6 views
1

В принципе, я хочу создать форму. Это может произойти немного позже, когда я закончил, поэтому я хотел использовать поле списка, чтобы форма была прокручиваемой. Я хотел бы иметь ярлык с текстовым полем рядом с ним для ввода от пользователя. Как я могу помещать ярлык и текстовое поле бок о бок в списке?WPF listbox два элемента бок о бок

Кроме того, если у кого-либо есть другие предложения о том, как создать форму, пожалуйста, дайте мне знать.

+0

Как отметил Эрно вы не должны использовать ListBox и ваш вопрос немного расплывчато, не могли бы вы указать, как вы хотите, чтобы добавить новые строки, если он должен быть динамичным и так далее? –

+0

Строки должны быть статическими, поскольку форма никогда не изменится. Поэтому мне понадобится простой способ редактирования формы, так как я не смогу увидеть все это в дизайне визуальной студии 2010. – MBU

+0

Ну, к настоящему времени существующих ответов должно быть достаточно. Просто используйте Grid с двумя столбцами и сколько угодно строк, которые вам нужны, и поместите их в ScrollViewer, а не намного больше. –

ответ

5

Не используйте ListBox для добавления возможностей прокрутки, для этого используйте ScrollViewer.

Не могли бы вы набросать/нарисовать изображение, объясняющее ваши идеи?

<Grid> 
    <ScrollViewer> 
     <Grid ScrollViewer.VerticalScrollBarVisibility="Auto" 
       ScrollViewer.HorizontalScrollBarVisibility="Disabled"> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition /> 
       <ColumnDefinition /> 
      </Grid.ColumnDefinitions> 
      <Grid> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="auto" /> 
        <ColumnDefinition /> 
       </Grid.ColumnDefinitions> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="auto" /> 
        <RowDefinition Height="*" /> 
       </Grid.RowDefinitions> 
       <Label Target="{Binding ElementName=textBlock}" 
         VerticalAlignment="Center">_Name:</Label> 
       <TextBox Grid.Column="1" 
         x:Name="textBlock" 
         VerticalAlignment="Center" 
         Text="Enter text here" /> 
      </Grid>     
      <Border Grid.Column="1"> 
       <TextBlock Text="Anything you like" /> 
      </Border> 
     </Grid> 
    </ScrollViewer> 
</Grid> 

Есть много других вариантов. Например, вы можете поместить ScrollViewer внутри границы в моем примере. Это сделает содержимое прокрутки Border вместо всей формы. Ключ должен определить, что вы хотите, чтобы он выглядел и как вы хотите, чтобы он себя вел.

Лучший способ сделать это путем рисования или прототипирования в дизайнере, таком как Expression Blend.

+0

Это выглядит неплохо. Благодаря! но есть ли способ разместить ярлык рядом с текстовым полем? Эти примеры, но ярлык поверх текстового поля, и я хотел бы, чтобы он был рядом, поэтому ярлык связан с этим конкретным текстовым полем. – MBU

Смежные вопросы