WPF用List绑定类
本文关键字:绑定 List WPF | 更新日期: 2023-09-27 17:51:22
我有一个包含另一个类的List的表示类。我如何在WPF DataGrid中显示列表类的内容?
namespace AktieAnalyse.TekniskAnalyse.RSI
{
public class RSI
{
public decimal xAntalDageRsi { get; set; }
public decimal NiDagesRsi { get; set; }
public decimal FjortenDagesRsi { get; set; }
public decimal NiogfyrreDagesRsi { get; set; }
public decimal EthundreogHalvtressDagesRsi { get; set; }
}
}
namespace AktieAnalyseWPFUserControls.View.Presentation
{
public class RSI
{
public int IdVirksomhedensStamdata { get; set; }
public string VirksomhedensNavn { get; set; }
public List<AktieAnalyse.TekniskAnalyse.RSI.RSI> RsiListe { get; set; }
}
}
在WPF中,"VirksomhedsNavn"工作正确,但不"RsiListe"。NiDagesRsi":
<DataGrid x:Name="dataGrid_Rsi" ItemsSource="{Binding}" >
<DataGrid.Columns>
<DataGridTextColumn Header="Virksomhedsnavn" Binding="{Binding Path=VirksomhedensNavn}" />
<DataGridTextColumn Header="RSI 9" Binding="{Binding Path=RsiListe.NiDagesRsi}">
如果我试过:
<DataGridTextColumn Header="RSI 9" Binding="{Binding Path=RsiListe[0].NiDagesRsi}">
它工作(当然只在第一行)。我怎样才能使它在所有行上工作?
似乎您的视图模型是RSI类型的类?尝试后。
<DataGrid x:Name="dataGrid_Rsi" ItemsSource="{Binding RsiListe}" >
<DataGrid.Columns>
<DataGridTextColumn Header="RSI 9" Binding="{Binding Path=NiDagesRsi}">
你还能解释为什么你想从视图模型和列表绑定到数据网格吗?也可能是一个好主意,不要有两个类命名为RSI,如果它的首字母缩略词可能是一个好主意,写冗长模式。
建议将列表绑定到ObservableCollection<T>
而不是列表。
这在内部实现了INotifyPropertyChanged
,所以当您设置列表的内容时,它将更新GUI。