0

プロパティを設定した場合:

EnableRowVirtualization="True"
RowDetailsVisibilityMode="VisibleWhenSelected"
SelectionMode="Extended"
SelectionUnit="Cell"

私のデータグリッド、次に:

int parse = dataGrid1.SelectedIndex;

「-1」を返すのはなぜですか?

4

3 に答える 3

5

グリッドで何も選択されていません。これはゼロから始まるインデックスであるため、最初の行/アイテムは「0」を返します。MSDNのドキュメントによると:

選択範囲が空の場合、SelectedIndex は -1 を返します

コードの次の行は

if (parse >= 0)
{
     //...
}
于 2012-08-06T13:22:18.320 に答える
1

このようなほとんどのコントロールは、何も選択されていないときのSelectedIndexように戻ります。-1(これは、たとえばListBoxand too にも当てはまります。)ComboBox

于 2012-08-06T13:24:19.180 に答える
1

datagrid SelectionUnit="Cell" の場合、使用する必要があります

int parse = datagrid1.Items.IndexOf(datagrid1.CurrentItem)

datagrid SelectionUnit="FullRow" の場合、使用できます

int parse = datagrid1.SelectedIndex
于 2018-04-19T14:00:19.600 に答える