WPF ListBox项目命令绑定

时间:2016-06-10 14:14:51

标签: c# wpf listbox

我得到了以下列表框

<Page.DataContext>
    <self:NewUserViewModel/>
</Page.DataContext>
<ListBox x:Name="PermissionLbox"  ItemsSource="{Binding ListFromDataContext}" Height="75" Margin="10,117,10,0" VerticalAlignment="Top">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <CheckBox Content="{Binding .}"></CheckBox>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

为什么我将CheckBox定义更改为:

<CheckBox Command={Binding CommandFromDataContext} Content="{Binding .}"></CheckBox><CheckBox   Content="{Binding .}"></CheckBox>
尽管NewUserViewModel中存在CommandFromDataContext,但

name无法解析名称CommandFromDataContex。 ListFromDataContext是NewUserViewModel,Command的属性,但Command未解析。

1 个答案:

答案 0 :(得分:3)

复选框的datacontext不再是viewmodel,而是列表框中它实例的单个项目。

您需要绑定到RelativeSource和Path才能再次访问ViewModel。

有关详细信息,请参阅existing answer