gpt4 book ai didi

c# - 无法在我的 DataGrid 中使用类型化的 DataRowView

转载 作者:太空宇宙 更新时间:2023-11-03 13:33:41 25 4
gpt4 key购买 nike

我们刚刚使用 Prism 启动了一个 WPF 项目。我们的问题是我们必须使用 System.Data.DataRowView 而不是 DataGrid 的类型化版本。我们正在使用这样的代码:

<DataGrid 
ItemsSource="{Binding Cars}"
SelectedItem="{Binding ActiveCar}"
AutoGenerateColumns="False"
<!--[...]-->
<CheckBox Content="Four-wheel drive" IsChecked="{Binding TypedActiveCar.FourWheelDrive}"/>


<!--[...]-->

private System.Data.DataRowView _activeCar;

public System.Data.DataRowView ActiveCar
{
get { return _activeCar; }
set
{
if (_activeCar!= value)
{

_activeCar= value;
var fCarRow =
(_activeCar.Row as CarDS.F_CarRow);

RaisePropertyChanged(() => ActiveCar);
RaisePropertyChanged(() => TypedActiveCar);
}
}
}

public CarDS.F_CarRow TypedActiveCar
{
get
{
if (ActiveCar != null)
{
return ActiveCar.Row as CarDS.F_CarRow;
}
return null;
}
}

public CarDS.F_CarDataTable Cars
{
get { return _data.F_Cars; }

set
{
if (_data.F_Cars != value)
{

RaisePropertyChanged(() => Cars);
RaisePropertyChanged(() => ActiveCar);
}
}
}

此实现有效,但我更愿意使用表中的类型化版本作为我的 SelectedItem。你有什么想法吗?

最佳答案

DataRows、DataViews、DataRowViews 和其他 System.Data 类型用于组织数据,在内部与任何 DataGrid 内容不相似(概念上可能除外)。此数据的显示旨在方便开发人员使用,并使用其自己的体系结构,与 System.Windows.Controls 命名空间分开。您可以将信息从 DataRowView 转换为某种 DataGridRow,但这是您能做的最多的事情。

关于c# - 无法在我的 DataGrid 中使用类型化的 DataRowView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19489167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com