メソッドを呼び出すダブルクリックイベントセッターを設定したDataGridがあります。以下は私のxamlで、次は私のコードビハインドページです。ダブルクリックイベントは機能しますが、返されるのは「system.data.datarowview」であり、その理由はわかりません。非表示になっている独自の列である行の「vehicleID」値を取得しようとしています。
XAML:
<DataGrid Name="OpenVehicles" AutoGenerateColumns="False" IsReadOnly="False" SelectedItem="{Binding vehicleID}" SelectionUnit="FullRow">
<DataGrid.ItemContainerStyle>
<Style TargetType="DataGridRow">
<EventSetter Event="MouseDoubleClick" Handler="OpenVehicleClick" />
</Style>
</DataGrid.ItemContainerStyle>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding vehicleID}" Width="*" Header="vehicleID" Visibility="Hidden"/>
<DataGridTextColumn Binding="{Binding date, StringFormat=\{0:MMM dd yyyy \}}" Width="*" Header="Date"/>
<DataGridTextColumn Binding="{Binding companyshortname}" Width="*" Header="Customer"/>
<DataGridTextColumn Binding="{Binding subject}" Width="5*" Header="Vehicle Description"/>
<DataGridTextColumn Binding="{Binding FName}" Width="*" Header="Owner"/>
</DataGrid.Columns>
C#コード:
private void OpenVehicleClick(object sender, RoutedEventArgs e)
{
MessageBox.Show(OpenVehicles.CurrentCell.Item.ToString());
}
列の値を取得する方法やその他の提案についてのアイデアは大歓迎です。私は困惑を超えています。