【发布时间】:2014-04-25 19:58:27
【问题描述】:
我的 C# 应用程序中有一个数据网格。加载应用程序时,我看到数据网格没有正确的行,因为没有加载数据。然后用户可以单击一个按钮来加载一些数据。此数据应反映在数据网格中,但事实并非如此。所发生的只是 12 个空行是可见的。 12 个空行等于我希望看到的记录数。
当我单步执行代码时,我可以看到我的基础对象 (PayOffWin) 确实包含所有字段中的数据和列表中的 12 项。出于某种原因,这些数据并没有反映在我的数据网格中,我看不出我做错了什么。
XAML
<DataGrid Name="dgPayoffWin" Grid.Row="1" Grid.Column="0"
Margin="20"
ItemsSource="{Binding Path=PayOffWin}"
Style="{StaticResource dgBase}"
CanUserAddRows="False"
CanUserDeleteRows="False"
AutoGenerateColumns="false">
<DataGrid.Columns>
<DataGridTextColumn Header="Range" Binding="{Binding Path=Group}" IsReadOnly="True"/>
<DataGridTextColumn Header="Frequency" Binding="{Binding Path=WinNum}" IsReadOnly="True"/>
<DataGridTextColumn Header="Total Value" Binding="{Binding Path=WinGain}" IsReadOnly="True" Width="*"/>
</DataGrid.Columns>
</DataGrid>
我的视图模型中的代码隐藏
List<ResultHolder.PayOffMatrix> _payOffWin;
public List<ResultHolder.PayOffMatrix> PayOffWin
{
get { return _payOffWin; }
set
{
_payOffWin = value;
OnPropertyChanged("PayOffWin");
}
}
public class PayOffMatrix
{
public enumOutCome OutCome;
public string Group;
public double LimitUp, LimitDown;
public double WinNum, WinGain, LossNum, LossGain;
public double WinProb, WinExpect, LossProb, LossExpect;
}
【问题讨论】: