解決策は、コンボボックスのItemsSourceをリスト (例: "DeviceNameList") に設定し、このコンボボックスのSelectedItemをリスト内の要素のタイプに一致する変数 (SelectedDeviceName) に設定することです。
編集画面をロードすると、リストがコンボボックスにバインドされ、設定した変数が表示されます。
選択した項目がリストにあるかどうかを確認するコードを作成する必要があります。そうでない場合は、値をゼロに設定できます。
例:
XAML コード:
<ComboBox ItemsSource="{Binding Path=DeviceNameList}" SelectedItem="{Binding Path=SelectedDeviceName}" />
selectedItem を設定するコード:
/// <summary>
/// Gets or sets SelectedDeviceName.
/// </summary>
public ObservableCollection<string> DeviceNameList
{
get
{
return mDeviceNameList;
}
set
{
mDeviceNameList = value;
}
}
/// <summary>
/// Gets or sets SelectedDeviceName.
/// </summary>
public string SelectedDeviceName
{
get
{
return mSelectedDeviceName;
}
set
{
mSelectedDeviceName = value;
NotifyPropertyChanged("SelectedDeviceName");
}
}
/// <summary>
/// Event PropertyChanged
/// </summary>
public event PropertyChangedEventHandler PropertyChanged;
/// <summary>
/// Function NotifyPropertyChanged
/// </summary>
/// <param name="property">
/// The property.
/// </param>
private void NotifyPropertyChanged(string property)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(property));
}
}