我需要讓幾個項目的選擇,從這個預設列表:如何將數據綁定到集合中的組合對象的屬性?
public enum QuarkType{
Up,
Down,
[Description("Magical Being")] Charm,
[Description("Quite Odd")] Strange,
Top,
Bottom
}
於是我就用CheckComboBox,並使用DescriptionAttribute
,我需要使用自定義的描述。我喂CheckComboBox
使用MarkupExtension
返回給定enum
爲IEnumerable<EnumDescriptionPair>
,其中EnumDescriptionPair
是所有值的列表:
public class EnumDescriptionPair{
public object Value { get; set; }
public string Description { get; set; }
}
現在的問題是如何將Value
s此列表的傳遞給後臺代碼清單:
public ObservableCollection<QuarkType> SelectedQuarksList { get; set; }
我的意思是,如何把剛Value
出EnumDescriptionPair
的選定列表中的每個項目?
這是我到目前爲止。這顯然是行不通的(這意味着它顯示了CheckComboBox
正確的字符串,並允許選擇幾個項目,但沒有反映在上面提到的SelectedQuarksList
):
<Window x:Class="MyEditor.MainWindow"
xmlns:loc="clr-namespace:MyEditor"
xmlns:toolKit="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit"
DataContext="{Binding RelativeSource={RelativeSource Self}}">
<StackPanel>
<toolKit:CheckComboBox x:Name="Ccb" Delimiter=","
ItemsSource="{loc:EnumItemsValueConverter {x:Type loc:QuarkType}}"
DisplayMemberPath="Description"
SelectedItemsOverride="{Binding SelectedQuarksList}" />
<ListBox ItemsSource="{Binding SelectedQuarksList}" />
</StackPanel>
</Window>
由於列表是預定義的,複選框列表是否需要綁定?我之前已經完成了所有在XAML中聲明的選項,並綁定到一個Enum,但不是你描述的方式。 +1是一個很好的問題。 – BradleyDotNET
@LordTakkera - 我不確定我是否理解你的建議,但我願意提供建議 – Tar
我在解答我的建議的嘗試在我的答案中,希望它們對你有用。 – BradleyDotNET