如何使用绑定更改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
}