MVVM:绑定到ListBox.SelectedItem?

如何将视图模型属性绑定到ListBox.SelectedItem属性?

我已经创build了一个简单的MVVM演示,试图找出这一个。 我的视图模型有这些属性:

private ObservableCollection<DisneyCharacter> p_DisneyCharacters; public ObservableCollection<DisneyCharacter> DisneyCharacters { get { return p_DisneyCharacters; } set { p_DisneyCharacters = value; base.FirePropertyChangedEvent("DisneyCharacters"); } } private DisneyCharacter p_SelectedItem; public DisneyCharacter SelectedItem { get { return p_SelectedItem; } set { p_SelectedItem = value; base.FirePropertyChangedEvent("SelectedItem"); } } 

我想将SelectedItem属性绑定到列表框中选定的项目。 这是列表框的XAML:

 <ListBox ItemTemplate="{StaticResource MasterTemplate}" ItemsSource="{Binding Path=DisneyCharacters}" SelectedItem="{Binding Path=Selectedtem, Mode=TwoWay}" HorizontalAlignment="Stretch" /> 

这是我的问题:当我更改列表框中的select不更新视图模型SelectedItem属性。

我做了一个testing,我用SelectedIndex属性临时replace了视图模型SelectedItem属性,并将其绑定到ListBox.SelectedIndex属性。 该属性更新很好 – 这只是我无法工作的SelectedItem属性。

那么,我该如何解决SelectedItem绑定? 谢谢你的帮助。

那么,它就像生命一样伟大。 在XAML中。 我绑定到视图模型属性“Selectedtem”。 不幸的是,实际的名字是“SelectedItem”。 所以这个代码实际上是有效的 – 我今天下午早些时候解决了这个问题,然后在下午的其余时间和整个晚上在网上search,然后才发现拼写错误。

我的妻子今天下午三点告诉我,“你知道,事情会变成一件小事。” 就这样 – 一个丢失的信件“我”。 那么,至less我现在可以去睡觉了。