ItemsControl DataTemplate Элементы, показывающие рядом - PullRequest
2 голосов
/ 29 ноября 2011

Я изучаю это довольно давно, не могу найти ответ.

Как я могу отображать каждый элемент в моем элементе управления рядом?

Следующий код отображает содержимое каждого элемента рядом (метка и текстовое поле), но следующий элемент отображается под ним. Допустим, у меня есть 3 элемента в моем ItemsControl. Текущее поведение:

Текстовое поле метки
Текстовое поле метки
Текстовое поле метки

То, что я хочу, это:

Метка Текстовое поле Метка Текстовое поле Метка Текстовое поле (рядом)

В текущем коде используется панель стека, которая устанавливает горизонтальную ориентацию (поэтому метка и текстовое поле расположены рядом). Но мне нужно какое-то свойство или технику, чтобы установить горизонтальную ориентацию содержимого itemscontrol. Мой код:

<ItemsControl.ItemTemplate>
    <DataTemplate>
          <StackPanel Name="pnlText" Orientation="Horizontal" Width="750">
              <Label Content="{Binding ParameterDisplayName, Mode=OneWay}" />
              <TextBox Name="txtText" HorizontalAlignment="Left" Text="{Binding ParameterValue, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True}" Visibility="{Binding ParameterType, Converter={StaticResource ParameterTypeToVisibilityConverter}, ConverterParameter=Text}" />
           </StackPanel>
    </DataTemplate>
</ItemsControl.ItemTemplate>

Кто-нибудь знает, как это сделать?

Спасибо!

1 Ответ

5 голосов
/ 29 ноября 2011

Вы должны установить это свойство для вашего ItemsControl:

<ItemsControl.ItemsPanel>
  <ItemsPanelTemplate>
    <StackPanel Orientation="Horizontal" />
  </ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
...