3 回答
TA贡献1877条经验 获得超1个赞
IsSelected向您的孩子ViewModel 添加一个属性(OrderViewModel针对您的情况):
public bool IsSelected { get; set; }
将容器上的选定属性绑定到此(在这种情况下为ListBox):
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="IsSelected" Value="{Binding Mode=TwoWay, Path=IsSelected}"/>
</Style>
</ListBox.ItemContainerStyle>
IsSelected 更新以匹配容器上的相应字段。
您可以通过执行以下操作在视图模型中获取选定的子项:
public IEnumerable<OrderViewModel> SelectedOrders
{
get { return Orders.Where(o => o.IsSelected); }
}
TA贡献1815条经验 获得超6个赞
可以尝试创建附加属性。
这样做将避免IsSelected为您绑定的每个列表添加属性。我已经完成了ListBox,但是可以对其进行修改以在列表视图中使用。
<ListBox SelectionMode="Multiple"
local:ListBoxMultipleSelection.SelectedItems="{Binding SelectedItems}" >
更多信息:WPF –绑定ListBox SelectedItems –附加属性VS Style。
- 3 回答
- 0 关注
- 790 浏览
添加回答
举报