Для WPF Излишне ли использовать сеттер для установки свойства itemtemplate? - PullRequest
1 голос
/ 01 июля 2011

Когда я искал в Интернете, чтобы узнать, как установить шаблон элемента для списка, я нашел пример, где они использовали Setter Style в window.resources, чтобы сделать это.Итак, у меня есть несколько вариантов, я могу либо создать табличку с данными в моем window.resources, либо создать Style Setter.Было бы излишне устанавливать стиль вместо таблицы данных?Какой метод я должен использовать?

Спасибо.

Ответы [ 3 ]

1 голос
/ 01 июля 2011

Нельзя сказать, что одно или другое лучше, это зависит. Неявные DataTemplates - хороший способ глобально (даже если только для части визуального дерева), как должен выглядеть Type. При использовании ItemTemplate вы можете указать, как он должен выглядеть в данном ItemsControl (т.е. ListBox, ComboBox и т. Д.).

Вы даже можете использовать комбинацию из них обоих, что позволяет вам выглядеть «по умолчанию», но настраивать его для каждого элемента управления или типа элемента управления.

Даже с ItemTemplate вы можете установить его глобально, скажем, для всех ListBox, или только для одного экземпляра ListBox. Опять же, иногда один метод лучше, иногда нет. Это зависит от того, что вы пытаетесь сделать.

0 голосов
/ 01 июля 2011

Я предпочитаю сделать <DataTemplate> для типа элемента, а затем позволить WPF выяснить это.

<DataTemplate DataType="{x:Type local:Task}">
  <StackPanel>
    <TextBlock Text="{Binding Path=TaskName}" />
    <TextBlock Text="{Binding Path=Description}"/>
    <TextBlock Text="{Binding Path=Priority}"/>
  </StackPanel>
</DataTemplate>

<List ItemSource="{Binding MyListOfTaskItems"/>
0 голосов
/ 01 июля 2011

Стили обычно используются для применения одинаковых значений к разным экземплярам одного типа. Если это не так, то вообще не нужно создавать стиль.

...