GridView を ObservableCollection にデータバインドすると、コレクションの最初の項目が自動的に選択されます。GridViewのSelectionMode
プロパティは に設定されていますmultiple
。この自動選択を防ぐ方法はありますか? SelectedIndex
または、GridView を -1 にリセットできるように、どのイベントでリッスンする必要がありますか?
3203 次
3 に答える
2
実際には非常に簡単な解決策があります。XAML でSelectionMode
GridView のを設定します。None
次に、ページが作成されたら、 を に変更SelectionMode
しMultiple
ます。
publicPage()
{
this.InitializeComponent();
itemListView.SelectionMode = ListViewSelectionMode.Multiple;
}
ただし、私が抱えている問題は、自分のプログラムが原因のようです。これは私が抱えている問題の回避策です。自動選択はデフォルトの動作ではありません。
于 2012-07-12T17:25:51.317 に答える
1
私の状況は逆です。にGridView
バインドされた がObservableCollection
あり、最初の項目を選択したかったのですが、選択されませんでした! なぜそうなったのかは、なんとなくわかったのですが。my を生成するには 2 つの方法がありObservableCollection
、選択した方法に応じて、最初のアイテムが選択されるかどうかが決まります。
たとえば、ビューモデルに GridView にバインドする変数 ItemList があります。
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 (1 番目の項目が自動的に選択される)
public void getData()
{
var myList = // get your list here
this.ItemList = myList
}
于 2012-08-24T03:38:36.233 に答える