Silverlight - привязка к перечислению - PullRequest
1 голос
/ 05 ноября 2011

У меня есть комбинированный список в приложении C # Silverlight. Моя модель просмотра имеет свойство под названием DayOfWeek. Это свойство должно соответствовать стандартному .NET DayOfWeek перечислению .

Есть ли способ, которым я могу заполнить свой комбинированный список значениями этого перечисления? Кроме того, есть ли способ для меня соединить это с моей моделью представления, чтобы выбранное значение распространялось назад и вперед к моей модели представления? Если да, то как?

1 Ответ

0 голосов
/ 05 ноября 2011

В вашей 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 и запустите PropertyChanged из установщика SelectedDay.

...