【发布时间】:2013-12-04 23:05:19
【问题描述】:
我有一个 WPF 应用程序。我有两个数据网格,一个包含指标列表,另一个数据网格我想显示顶部数据网格的选定指标的更多详细信息。
但是我的详细信息网格没有显示任何数据,我不知道为什么。我应该指出,主数据网格填充得很好。我在属性 IndicatorSelected 的设置器中设置了一个中断,并且可以看到它在选择项目时被调用并且查看数据是正确的,但只是没有显示在详细数据网格中。
XAML
<DataGrid x:Name="dgModels" Grid.Column="0"
ItemsSource="{Binding Path=IndicatorList}"
SelectedItem="{Binding Path=IndicatorSelected}"
AutoGenerateColumns="false">
<DataGrid.Columns>
<DataGridTextColumn Header="Model" Binding="{Binding Name}" IsReadOnly="True"/>
<DataGridCheckBoxColumn Header="Run" Binding="{Binding Run}" IsReadOnly="false"/>
</DataGrid.Columns>
</DataGrid>
<DataGrid x:Name="dgParameterInfo" Grid.Column="1"
ItemsSource="{Binding Path=IndicatorSelected}"
AutoGenerateColumns="false">
<DataGrid.Columns>
<DataGridTextColumn Header="Parameter Name" Binding="{Binding Path=Name}" IsReadOnly="True"/>
<DataGridTextColumn Header="Default Value" Binding="{Binding Path=DefaultValue}" IsReadOnly="True"/>
<DataGridTextColumn Header="Run Value" Binding="{Binding Path=RunValue}" IsReadOnly="True"/>
<DataGridTextColumn Header="Parameter Type" Binding="{Binding Path=ParaType}" IsReadOnly="True"/>
</DataGrid.Columns>
</DataGrid>
C#
class ViewModel : INotifyPropertyChanged
{
List<IndicatorWrapper> _indicatorList;
IndicatorWrapper _indicatorWrapper;
public List<IndicatorWrapper> IndicatorList
{
get { return _indicatorList; }
set
{
_indicatorList = value;
OnPropertyChanged("IndicatorList");
}
}
public IndicatorWrapper IndicatorSelected
{
get { return _indicatorWrapper; }
set
{
_indicatorWrapper = value;
OnPropertyChanged("IndicatorWrapper");
}
}
public ViewModel()
{
DatabaseRetrieveSimulator db = new DatabaseRetrieveSimulator();
IndicatorList = db.GetIndicators();
}
}
【问题讨论】: