コンボボックスへの列挙型を使用した単純な双方向バインディングを実行しようとしていますが、これまでのところ私のコードで動作するものは見つかりませんでした。
私の列挙型(C#):
public enum CurrenciesEnum { USD, JPY, HKD, EUR, AUD, NZD };
Enum が設定する必要があるプロパティ / バインド先:
private string _ccy;
public string Ccy
{
get
{
return this._ccy;
}
set
{
if (value != this._ccy)
{
this._ccy= value;
NotifyPropertyChanged("Ccy");
}
}
}
動作しない Xaml コード:
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ObjectDataProvider x:Key="Currencies" MethodName="GetValues" ObjectType="{x:Type System:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="ConfigManager:CurrenciesEnum" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</ResourceDictionary>
</UserControl.Resources>
<ComboBox ItemsSource="{Binding Source={StaticResource Currencies}}" SelectedItem="{Binding Ccy, Mode=TwoWay}"/>
よろしくお願いします。