Mvvm 如何在Windows 8.1中使用WinRT Xaml Toolkit以双向模式绑定ListBoxItem的IsSelected属性

Mvvm 如何在Windows 8.1中使用WinRT Xaml Toolkit以双向模式绑定ListBoxItem的IsSelected属性,mvvm,winrt-xaml,windows-8.1,winrt-xaml-toolkit,Mvvm,Winrt Xaml,Windows 8.1,Winrt Xaml Toolkit,我有一个Windows8.1应用程序 我正在使用WinRT Xaml Toolkit将我的IsSelected属性绑定到我的ViewModel,因为这种绑定是开箱即用的 我包含了以下名称空间 xmlns:Extensions="using:WinRTXamlToolkit.Controls.Extensions" 这是我的XAML的ListBoxItem <ListBoxItem Extensions:ListBoxItemExtensions.IsSelected="{Binding

我有一个Windows8.1应用程序

我正在使用WinRT Xaml Toolkit将我的IsSelected属性绑定到我的ViewModel,因为这种绑定是开箱即用的

我包含了以下名称空间

xmlns:Extensions="using:WinRTXamlToolkit.Controls.Extensions"
这是我的XAML的ListBoxItem

<ListBoxItem Extensions:ListBoxItemExtensions.IsSelected="{Binding MyBool, Mode=TwoWay}">
    <TextBlock Text="MyText" />
</ListBoxItem>

但是我无法双向绑定它,绑定仅在ViewModel->View中工作

这是扩展的限制吗。如果是,如何实现双向绑定

如果有人能给我指出正确的方向,我将非常高兴。
提前感谢。

不幸的是,您不能这样做

但是,您可以双向绑定到ListView.SelectedItem

如果需要多个选定项,WinRT Toolkit具有BindableSelection:


祝你好运

不,我的清单上只有两项。基于我的ViewModel中的布尔变量,应选择其中一个。我尝试使用IsSelected,Mode=TwoWay绑定来实现这一点,但没有成功。Filip Skakun建议,如果我想快速轻松地解决问题,我可以编写自己的附加行为或使用代码隐藏。