PointItem 型のプロパティを DataContext クラス (たとえば、DataGrid を含む Window または Page クラス) に追加し、CurrentItem プロパティをこのプロパティにバインドするだけです。次に、Data Binding がキャストを処理するので、手動で行う必要はありません。
public PointItem CurrentPointItem
{
get { return (PointItem)GetValue(CurrentPointItemProperty); }
set { SetValue(CurrentPointItemProperty, value); }
}
// Using a DependencyProperty as the backing store for CurrentPointItem. This enables animation, styling, binding, etc...
public static readonly DependencyProperty CurrentPointItemProperty =
DependencyProperty.Register("CurrentPointItem", typeof(PointItem), typeof(MainWindow), new PropertyMetadata(null));
および xaml (もちろん、DataGrid の DataContext プロパティまたはその親の 1 つを CurrentPointItem プロパティを含むオブジェクトに設定する必要があります):
<DataGrid CurrentItem={Binding CurrentPointItem} />
次のようにイベントを書くことができます:
private void PointListDataGrid_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
PointItem pointItem = CurrentPointItem;
if (pointItem == null)
{
//no item selected
}
}