当我我的数据绑定到GridView的一个ObservableCollection,集合的第一项被自动选择。 该SelectionMode
GridView控件的属性设置为multiple
。 有没有一些方法来防止这种情况自动选择? 或什么事件,我应该听这样我就可以重新设置SelectedIndex
在GridView的回-1?
Answer 1:
设置IsSynchronizedWithCurrenItem
属性为false
在XAML GridView控件
Answer 2:
有实际上可以一个非常简单的解决方案。 我设定SelectionMode
GridView控件来None
在XAML。 然后,创建页面时,我改变SelectionMode
到Multiple
。
publicPage()
{
this.InitializeComponent();
itemListView.SelectionMode = ListViewSelectionMode.Multiple;
}
但是,我有这个问题似乎是我自己的程序引起的。 这是我遇到的问题的解决方法,该autoselection是不是默认的行为。
http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/da7e9f3b-9a3e-47ca-8223-b50539293f5f
Answer 3:
我的情况是相反的。 我有一个GridView
这是绑定到ObservableCollection
,我想选择的第一个项目,但它不是! 我想通了,为什么是这样的话,虽然。 有2种方式来产生我ObservableCollection
,并根据所法我选择了,第一个项目或者选定或未。
例如,我在我的视图模型的可变ITEMLIST我结合到我的GridView
public ObservableCollection<Item> ItemList { get; private set; }
方法1(无选择)
public void getData()
{
var myList = // get your list here
for (int i = 0; i < myList.Count; i++)
{
this.ItemList.add(myList[i]);
}
}
方法2(第一项自动选择)
public void getData()
{
var myList = // get your list here
this.ItemList = myList
}
文章来源: how to prevent autoselection of first item in GridView on databind?