如何防止数据绑定中GridView中第一个项目的自动选择?

时间:2012-07-10 18:30:25

标签: c# gridview data-binding windows-runtime winrt-xaml

当我将GridView数据绑定到ObservableCollection时,会自动选择该集合的第一项。 GridView的SelectionMode属性设置为multiple。有没有办法阻止这种自动选择?或者我应该监听什么事件,以便我可以将GridView的SelectedIndex重置为-1?

3 个答案:

答案 0 :(得分:9)

在xaml

中的gridview上将IsSynchronizedWithCurrenItem属性设置为false

答案 1 :(得分:2)

有一个非常简单的解决方案。我在XAML中将GridView的SelectionMode设置为None。然后,在创建页面时,我将SelectionMode更改为Multiple

        publicPage()
        {
            this.InitializeComponent();
            itemListView.SelectionMode = ListViewSelectionMode.Multiple;
        }

然而,我遇到的问题似乎是由我自己的程序引起的。这是我遇到的问题的解决方法,自动选择不是默认行为。

http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/da7e9f3b-9a3e-47ca-8223-b50539293f5f

答案 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]);
    }
}