Повторное использование WPF DataTemplate - PullRequest
0 голосов
/ 06 августа 2011

У меня в ListBox должна отображаться комбинация флажок / текстовый блок для каждого элемента.Элементы, однако, не находятся в коллекции, но представлены как свойства (логическое / String) в классе.Это означает, что я не могу установить свойство Binding в DataTemplate для Item, поскольку каждый Item будет связан с другим свойством.

Можно ли определить DataTemplate, который не привязан ни к каким свойствам, а затемпозже определите Binding при использовании DataTemplate.

В псевдокоде:

<DataTemplate x:Key="ReusableDataTemplate">
    <StackPanel Orientation="Horizontal">
        <CheckBox />
        <TextBlock />
    </StackPanel>
</DataTemplate>

И позже используйте его как:

<ListBox>
  <ListBoxItem DataTemplate="ReusableDataTemplate" CheckBoxBinding="{Path=Enable1}" TextBlockBinding="{Path=Enable1Text}"/>
  <ListBoxItem DataTemplate="ReusableDataTemplate" CheckBoxBinding="{Path=Enable2}" 
TextBlockBinding="{Path=Enable2Text}"/>
  <ListBoxItem DataTemplate="ReusableDataTemplate" CheckBoxBinding="{Path=Enable3}" TextBlockBinding="{Path=Enable3Text}"/>
</ListBox>

1 Ответ

5 голосов
/ 06 августа 2011

Вот для чего UserControls.

...