当我将GridView数据绑定到ObservableCollection时,会自动选择该集合的第一项。 GridView的SelectionMode
属性设置为multiple
。有没有办法阻止这种自动选择?或者我应该监听什么事件,以便我可以将GridView的SelectedIndex
重置为-1?
答案 0 :(得分:9)
在xaml
中的gridview上将IsSynchronizedWithCurrenItem
属性设置为false
答案 1 :(得分:2)
有一个非常简单的解决方案。我在XAML中将GridView的SelectionMode
设置为None
。然后,在创建页面时,我将SelectionMode
更改为Multiple
。
publicPage()
{
this.InitializeComponent();
itemListView.SelectionMode = ListViewSelectionMode.Multiple;
}
然而,我遇到的问题似乎是由我自己的程序引起的。这是我遇到的问题的解决方法,自动选择不是默认行为。
答案 2 :(得分:1)
我的情况正好相反。我有一个绑定到GridView
的{{1}},我想要选择第一个项目,但事实并非如此!我想出了为什么会这样。有两种方法可以生成我的ObservableCollection
,根据我选择的方法,第一项是否被选中。
例如,我的viewmodel中有一个变量ItemList,它绑定到我的GridView
ObservableCollection
方法1(未选择任何内容)
public ObservableCollection<Item> ItemList { get; private set; }
方法2(自动选择第1项)
public void getData()
{
var myList = // get your list here
for (int i = 0; i < myList.Count; i++)
{
this.ItemList.add(myList[i]);
}
}