我无法弄清楚如何将我的列表视图绑定到ViewModel中的两个属性和视图模型中的列表。
是否可以覆盖ListViews ItemsSource并将ListView中的Checkbox直接绑定到父ViewModel?
像这样......
<ListView ItemsSource="{Binding Path=SomeListInViewModel}">
<ListView.View>
<GridView>
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<DockPanel>
<CheckBox
IsEnabled="{Binding SomePropertyInViewModel}"
IsChecked="{Binding SomePropertyInsideListObj, Mode=TwoWay}" />
</DockPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
答案 0 :(得分:3)
有两种可能的方式:
1)将ListView命名为
<ListView x:Name="MyListView" ItemsSource="{Binding Path=SomeListInViewModel}">
然后在绑定
上使用ElementName属性IsEnabled="{Binding ElementName=MyListView, Path=Whatever}"
2)在绑定中使用RelativeSource
IsEnabled="{Binding Path=Whatever, RelativeSource={RelativeSource AncestorType={x:Type ListView}}}"
在这两种情况下,如果您的视图模型设置为ListView的DataContext,则路径看起来像DataContext.SomePropertyInViewModel
。