将枚举绑定到组合框并绑定到 属性
Bind enum to combobox and bind to property
我已经使用以下方法成功地将以下枚举传递给组合框:
public enum Color
{
Blue,
Green,
Yellow
}
public Color _color { get; set; }
public Type Colors
{
get { return typeof(Color); }
}
在视图中我有以下内容:
<ComboBox ItemsSource="{Binding Colors, Converter={StaticResource enumConverter}}">
<ComboBox.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding }" FontSize="14"/>
</Grid>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
这让我可以在框中画出一种颜色。我想要做的是将所选颜色绑定到 属性 这是我的视图模型的一部分。我对转换器很陌生,所以我可能会遗漏一些东西。
您可以将 ComboBox
的 SelectedItem
绑定到视图模型中的 属性。 属性 的类型必须与 enumConverter
.
生成的项目类型匹配
您可以将 Combobox 的 SelectedItem
绑定到 属性。我在 ViewModel 中将 属性 重命名为 SelectedColor
。 PropertyChanged
事件在 setter 中引发,因此当您更新 属性 时,例如,从 ViewModel 中的另一个方法,视图会收到通知并使用新值更新。
private Color _selectedColor;
public Color SelectedColor
{
get { return _selectedColor; }
set
{
_selectedColor = value;
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("SelectedColor"));
}
}
}
并且在 XAML
<ComboBox ItemsSource="{Binding Colors, Converter={StaticResource enumConverter}}"
SelectedItem="{Binding SelectedColor}">
...
我已经使用以下方法成功地将以下枚举传递给组合框:
public enum Color
{
Blue,
Green,
Yellow
}
public Color _color { get; set; }
public Type Colors
{
get { return typeof(Color); }
}
在视图中我有以下内容:
<ComboBox ItemsSource="{Binding Colors, Converter={StaticResource enumConverter}}">
<ComboBox.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding }" FontSize="14"/>
</Grid>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
这让我可以在框中画出一种颜色。我想要做的是将所选颜色绑定到 属性 这是我的视图模型的一部分。我对转换器很陌生,所以我可能会遗漏一些东西。
您可以将 ComboBox
的 SelectedItem
绑定到视图模型中的 属性。 属性 的类型必须与 enumConverter
.
您可以将 Combobox 的 SelectedItem
绑定到 属性。我在 ViewModel 中将 属性 重命名为 SelectedColor
。 PropertyChanged
事件在 setter 中引发,因此当您更新 属性 时,例如,从 ViewModel 中的另一个方法,视图会收到通知并使用新值更新。
private Color _selectedColor;
public Color SelectedColor
{
get { return _selectedColor; }
set
{
_selectedColor = value;
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("SelectedColor"));
}
}
}
并且在 XAML
<ComboBox ItemsSource="{Binding Colors, Converter={StaticResource enumConverter}}"
SelectedItem="{Binding SelectedColor}">
...