我在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
。