c# - 检索数据绑定(bind)的行列的值

标签 c# wpf datagrid

我有一个 DataGrid,我设置了一个调用方法的双击事件 setter 。下面是我的 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());
    }

任何有关如何检索列值的想法或任何其他建议都非常受欢迎。我简直被难住了。

最佳答案

DataRowView.Row 属性将包含您想要的 DataRow。从那里您可以使用 DataRowView.Row["ColumnName"] 索引器访问列值

关于c# - 检索数据绑定(bind)的行列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13436322/

相关文章:

c# - 如何将 switch 语句的结果存储到 C# 中的对象中

c# - ScrollViewer 不适用于 wpf 中的网格

c# - Properties.Settings 是否被缓存?

c# - 如何使用mvvm在WPF中的DataGrid中的单元格中进行IsReadOnly更改

c# - 比较元组,忽略元素的顺序

c# - 从表达式中的集合访问嵌套属性

c# - MVVM 中的上下文菜单

.net - 如何在 WPFToolkit DataGrid 的列之间创建间隙

java - Apache 点燃: ScanQuery giving exception

c# - 如何调整 PDF 文档的大小以适合位图