如何使用绑定更改WPF中listbox中选定颜色的窗口窗体背景色?
我使用的是如何使用绑定更改WPF中listbox中选定颜色的窗口窗体背景色?,wpf,binding,user-controls,listbox,wpf-controls,Wpf,Binding,User Controls,Listbox,Wpf Controls,我使用的是列表框,我想在单击列表框项目时更改背景窗口的颜色,我的方法正在工作,但我想对绑定执行相同的操作 <ListBox Grid.Column="1" Grid.Row="3" Grid.RowSpan="2" Margin="10,20,30,10" Name="listBox1" SelectionChanged="listBox1_SelectionChanged_1"> <ListBoxItem Content="Blue" Name="ls
列表框
,我想在单击列表框项目
时更改背景窗口的颜色,我的方法正在工作,但我想对绑定执行相同的操作
<ListBox Grid.Column="1" Grid.Row="3" Grid.RowSpan="2" Margin="10,20,30,10" Name="listBox1" SelectionChanged="listBox1_SelectionChanged_1">
<ListBoxItem Content="Blue" Name="lst" />
<ListBoxItem Content="Green" Name="lst1" />
<ListBoxItem Content="Yellow" Name="lst2"/>
<ListBoxItem Content="Transparent" Name="lst3"/>
</ListBox>
但是我需要使用bind方法,如何做到这一点?通过遵循MVVM并使列表框的值(基本上是颜色)来自模型,您可以非常轻松地实现这一点。然后可以将表单的背景绑定到相同的值 因此,您的模型基本上是:
public class ColorModel
{
public Enum Colors{get; set;}
}
public enum Colors
{
Red,
Blue,
Green
}
您的Viewmodel将对此进行收集
然后,视图将其绑定到列表框。
对于窗口背景-您可以将其绑定到列表框值并使用转换器(因为模型没有将其定义为颜色)-您可以更改颜色
如果你想要一个完整的工作样本-让我知道-我会尝试在我的办公桌上发布一些东西。请你发布样本,这将非常有用,因为我从不使用绑定,我想学习一些新的东西。
public class ColorModel
{
public Enum Colors{get; set;}
}
public enum Colors
{
Red,
Blue,
Green
}