好吧,我刚刚发布了这个问题,但我认为我没有做错任何事情。我的代码(以及所有答案的代码)是正确的,但是我的开发机器使用 .NET4.5 运行,这显然与组合框的绑定有问题......
所以这里有一个新版本的问题:如何将组合框的 SelectedItem 双向绑定到 .NET4.5 中的静态属性?
以下代码片段在 .net4 中有效,但在 .NET4.5 中无效。在 4.5 中,只是所选值不会传播回我的静态属性。
我的视图模型:
public class MainWindowViewModel
{
public static List<String> MyElements { get; set; }
public static string SelectedElement { get; set; }
static MainWindowViewModel()
{
MyElements = new List<string>() {"a", "b", "c"};
SelectedElement = "a";
}
}
还有我的 XAML
<Window.Resources>
<me:MainWindowViewModel x:Key="model"/>
</Window.Resources>
<StackPanel>
<ComboBox
ItemsSource="{Binding Source={x:Static me:MainWindowViewModel.MyElements}, Mode=OneWay}"
SelectedItem="{Binding Source={StaticResource model}, Path=SelectedElement}" />
</StackPanel>
有没有人知道如何在 .NET4.5 中实现 ComboBox 的 SelectedItem 到静态属性的这种双向绑定?