0
我有一個列表框需要顯示每個項目的複選框/文本塊組合。然而,這些項目不在集合中,而是作爲屬性(布爾/字符串)暴露在類中。這意味着我無法在Item的DataTemplate中設置Binding屬性,因爲每個Item都將綁定到不同的屬性。重複使用WPF DataTemplate
是否可以定義未綁定到任何屬性的DataTemplate,然後在使用DataTemplate時定義Binding。
僞代碼:
<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>