バージョン

SelectedItemsChanged イベント

SelectedItems が変更された後に発生します。
シンタックス
'宣言
 
Public Event SelectedItemsChanged As EventHandler(Of SelectedItemsChangedEventArgs)
public event EventHandler<SelectedItemsChangedEventArgs> SelectedItemsChanged
イベント データ

イベント ハンドラが、このイベントに関連するデータを含む、SelectedItemsChangedEventArgs 型の引数を受け取りました。次の SelectedItemsChangedEventArgs プロパティには、このイベントの固有の情報が記載されます。

プロパティ解説
Handled System.Windows.RoutedEventArgsから継承されます。Gets or sets a value that indicates the present state of the event handling for a routed event as it travels the route.
OriginalSource System.Windows.RoutedEventArgsから継承されます。Gets the original reporting source as determined by pure hit testing, before any possible System.Windows.RoutedEventArgs.Source adjustment by a parent class.
RoutedEvent System.Windows.RoutedEventArgsから継承されます。Gets or sets the System.Windows.RoutedEventArgs.RoutedEvent associated with this System.Windows.RoutedEventArgs instance.
Source System.Windows.RoutedEventArgsから継承されます。Gets or sets a reference to the object that raised the event.
Type 選択変更を軌道したオブジェクトのタイプを返します(読み取り専用)。
解説

RecordCell、および Field の 3 つの項目タイプを選択できます。この機能は、以下のプロパティで制御されます。

SelectedItems オブジェクトは、特定の項目の選択/選択解除に使用できる 3 コレクション (DataPresenterBase.SelectedItemHolder.RecordsDataPresenterBase.SelectedItemHolder.Cells、および DataPresenterBase.SelectedItemHolder.Fields) を公開します。更に、選択は RecordRecord.IsSelectedCellCell.IsSelected、および FieldField.IsSelected プロパティの設定によって影響されます。

以下は、さまざまなシナリオの選択動作について説明します。

  • ユーザーがマウスまたはキーボード操作でレコード、セル、またはフィールを選択した場合、SelectedItemsChanging イベントが発生します。キャンセルされた場合、適切な SelectedItems コレクションが更新され、SelectedItemsChangingSelectedItemsChangedイベントが発生します。
  • IsSelected プロパティのいづれかがコードで変更された場合や SelectedItems コレクションで追加または削除された場合も動作は同じで SelectedItemsChanging および SelectedItemsChanged イベントが発生します。
  • ユーザーがセルで編集モードに入って選択されたコレクションすべてをクリアすると、同じSelectedItemsChanging and SelectedItemsChanged
  • レコードが削除された (データソースで変更された、またはユーザーが削除キーを押した) 場合、SelectedItemsRecords および Cells コレクションは適宜更新されますが、SelectedItemsChanging イベントは発生しません。ただし、SelectedItemsChanged イベントは発生します。注: データ ソースでレコードの削除をサポートし、FieldLayoutSettings.FieldLayoutSettings.AllowDelete プロパティが False に設定されていない場合、削除キーを押すと RecordsDeleting イベントが発生します。キャンセルしない場合、デフォルトで選択したレコードをすべて選択するかどうかの確認メッセージがユーザーに表示されます。
  • レコード フィルターがアクティブな場合 (FieldSettings.FieldSettings.AllowRecordFiltering が 1 つ以上のフィールドで True に設定されている場合など)、選択動作は以下になります。
    • フィルター レコードが表示されている場合 (FieldLayoutSettings.FieldLayoutSettings.FilterUIType が FilterRecord に設定されているかデフォルトのままの場合など)、フィルター セルに入った場合と他のセルに入った場合に同じ動作になります。既存の選択のクリアやイベントを発生します。
    • フィルターがフィールドラベル内のドロップダウンで公開される場合 (FieldLayoutSettings.FieldLayoutSettings.FilterUIType が LabelIcons に設定される場合)、フィルター条件を変更しても既存の選択は変更されません。たとえば、5 レコードを選択してフィルターすると、元々選択されていた 5 つのレコードでフィルターを実行します。データ ソースでレコードの削除をサポートし、FieldLayoutSettings.FieldLayoutSettings.AllowDelete プロパティが False に設定されていない場合に削除キーを押すと、選択されている 5 つのレコードの削除について確認メッセージがユーザーに表示されます。この動作は RecordsDeleting イベントをキャンセルするかコードでレコードのフィルター済みのみを削除します。

注:Record および Cell 選択は相互排他的です。Record を 1 つまたは複数選択すると、Cell 選択が自動的にクリアされ、その逆も同じ結果になります。

参照