2

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

4

3 回答 3

10

在 xaml 中的 gridview 上设置IsSynchronizedWithCurrenItem属性false

于 2013-12-22T03:34:02.633 回答
2

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

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

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

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

于 2012-07-12T17:25:51.317 回答
1

我的情况正好相反。我有一个GridView绑定到 的ObservableCollection,我希望选择第一个项目,但它没有!我想通了为什么会这样。有两种方法可以生成我的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
}
于 2012-08-24T03:38:36.233 回答