私はComboBox
XAML を持っています:
<ComboBox x:Name="Form1Combobox" Width="150" IsSynchronizedWithCurrentItem="True" SelectedValue="{Binding Dept}" ItemsSource="{Binding Source={StaticResource ResourceKey=Depts}}"/>
私の静的リソースは を使用してObjectDataProvider
、ComboBox
列挙型からの値を設定しています:
public enum Department
{
Leadership,
Maintenance,
Salaried,
Commission
}
従業員がいてObservableCollection
、Dept プロパティを何か (たとえばDept = Department.Leadership
) に設定しています。従業員クラスはINotifyPropertyChange
、名前を含む他のものに , を使用します。はComboBox
正しく入力されますが、初期値が設定されていません。
SelectedValue
私の質問は、従業員のComboBox
適切なプロパティに どのように設定できますか?
編集: これは私の観察可能なコレクション (スニペット) です。
ObservableCollection<Employee> emps = new ObservableCollection<Employee>
{
new Employee{Name = "Exam Pell", Title = "Manager", Phone = "(801) 555-2677", Email = "examPell@co.co", isActive = true, Dept = Department.Commission},
};
これは私の静的リソースです:
<ObjectDataProvider x:Key="Depts" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="en:department+Department"></x:Type>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
SelectedValue または SelectedItem を設定しようとすると、コンボボックスが赤くなることに実際に気付きました (DataGridComboBoxColumn
これにも関連付けられていますが、 がありますItemsSource
)。また、ListBox
部門も表示する がありますが、これは正しく表示されますが、ComboBox
従業員の選択を変更しても更新されません。