[英]How to display a different value for dropdown list and selected item in a CheckComboBox in Xceed WPF toolkit?
我有一個CheckComboBox綁定到一個列表,該列表由一個簡單的索引和完整的說明組成,如下所示:
code full_description
1 Bus
2 Car
3 Motobike
下拉列表時是否可以僅顯示1,2,3並顯示完整說明? 我在這里發現了類似的問題。 但是由於CheckComboBox使用差異實現,因此我對class ComboBoxItemTemplateSelector
的部分進行了如下修改:
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
SelectorItem selectorItem = VisualTreeHelpers.GetVisualParent<SelectorItem>(container);
if (selectorItem != null)
{
return DropDownTemplate;
}
return SelectedTemplate;
}
它在下拉列表中正常工作,但對選定項沒有運氣。 我試圖深入研究CheckComboBox的源代碼,但一無所獲。 希望有人可以幫助我。 謝謝。
您是否嘗試僅設置ItemContainerStyle
的ContentTemplate
?
<ComboBox.ItemContainerStyle>
<!--Not sure what TargetType you should use-->
<Style TargetType="ComboBoxItem">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<!--Here goes your DropDownTemplate-->
<TextBlock Text="{Binding Description}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</ComboBox.ItemContainerStyle>
另外,將DisplayMemberPath
設置為所需的屬性。
1.override ToString()
在您的項目類:
public override string ToString()
{
return full_description;
}
2.設置DisplayMemberPath
為code
<CheckComboBox ItemsSource="{Binding CarList}"
DisplayMemberPath="code" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.