Silverlight -绑定到枚举



我在c# Silverlight应用程序中有一个组合框。我的视图模型有一个属性叫DayOfWeek。这个属性需要匹配标准的。net DayOfWeek枚举。

是否有一种方法可以用这个枚举的值填充我的组合框?此外,是否有一种方法可以让我将它与我的视图模型连接起来,以便所选值在我的视图模型之间来回传播?如果有,怎么做?

在你的ViewModel中:

private ObservableCollection<DayOfWeek> _weekDays;
// In the constructor:
_weekDays = new ObservableCollection<DayOfWeek>();
_weekDays.AddRange(new DayOfWeek[] {
    DayOfWeek.Sunday,
    DayOfWeek.Monday,
    DayOfWeek.Tuesday,
    DayOfWeek.Wednesday,
    DayOfWeek.Thursday,
    DayOfWeek.Friday,
    DayOfWeek.Saturday
});
// Properties of your VM:
public ObservableCollection<DayOfWeek> WeekDays
{
    get
    {
        return _weekDays;
    }
}
public DayOfWeek SelectedDay
{
    get;
    set;
}
在XAML:

<ComboBox 
    ItemsSource="{Binding WeekDays}" 
    SelectedItem="{Binding SelectedDay, Mode=TwoWay}"/>

使用组合框时,"SelectedDay"的值会发生变化。如果您想从代码中更改值,请实现INotifyPropertyChanged并从SelectedDay的setter中触发PropertyChanged

最新更新