我有一个列表,其中包含具有所有属性的对象:IsSelected。现在,如果属性为true,我会尝试自动选择GridView中的项目。
我试图在GridView中覆盖PrepareContainerForItemOverride并设置绑定到对象但没有成功。有什么想法吗?
protected override void PrepareContainerForItemOverride(DependencyObject element, object item)
{
base.PrepareContainerForItemOverride(element, item);
var listItem = element as GridViewItem;
var binding = new Binding
{
Mode = BindingMode.TwoWay,
Source = item,
Path = new PropertyPath("Selected")
};
if (listItem != null)
listItem.SetBinding(SelectorItem.IsSelectedProperty, binding);
}
答案 0 :(得分:1)
我太近了。我只需要设置:
protected override void PrepareContainerForItemOverride(DependencyObject element, object item)
{
base.PrepareContainerForItemOverride(element, item);
var listItem = element as GridViewItem;
listItem.IsSelected = true;
}
..选择所有项目。
答案 1 :(得分:1)
您还可以使用WinRT XAML Toolkit中的ListViewExtensions。BindnableSelection,它允许您绑定到GridView的ItemsSource子集的列表,其中包含您想要选择的项目。