【发布时间】:2015-12-31 15:11:16
【问题描述】:
在我的 DataGrid 中,我有三列,行数是动态的。 DataGrid 的值是双精度数组。如何在不创建新类的情况下将每个数组绑定到他的列(我在每个数组上都有 propertychangedevent)
<DataGrid Name="dataGrid" HorizontalContentAlignment="Center" VerticalContentAlignment="Stretch"
AutoGenerateColumns="False" Style="{DynamicResource DataGridStyle1}"
CellEditEnding="dataGrid_Kennlinie_CellEditEnding" BeginningEdit="dataGrid_Kennlinie_BeginningEdit"
MaxWidth="500">
<DataGrid.Columns>
<DataGridTextColumn Header="nue" Binding="{Binding nue}" Width="*">
<DataGridTextColumn.Foreground>
<SolidColorBrush Color="Black"/>
</DataGridTextColumn.Foreground>
</DataGridTextColumn>
<DataGridTextColumn Header="mue" Binding="{Binding mue}" Width="*"/>
<DataGridTextColumn Header="tpc[Nm]" Binding="{Binding MPc}" Width="*" />
....end
nue、mue 和 MPc 是另一个类之间的数组。当我这样做的时候
dataGrid.ItemSource = class.nue;
在这个类中,我创建了包含我需要的变量的类,这些是:
private double[] _nue;
public double[] nue
{
get { return _nue; }
set
{
if (_nue == value) return;
_nue = value;
OnPropertyChanged("_nue");
}
}
private double[] _mue;
public double[] mue
{
get { return _mue; }
set
{
if (_mue == value) return;
_mue = value;
OnPropertyChanged("_mue");
}
}
private double[] _MPc;
public double[] MPc
{
get { return _MPc; }
set
{
if (_MPc == value) return;
_MPc = value;
OnPropertyChanged("_MPc");
}
}
它为我设置了正确的行数,但没有值。
有什么想法吗? 谢谢,新年快乐
【问题讨论】:
-
你应该把你用作数据源的类的代码。
-
我不需要整个类,只需要三个变量。
标签: c# arrays wpf binding datagrid