如何通过部分聚合对象填充DataGridTextColumn

本文关键字:对象 填充 DataGridTextColumn 何通过 | 更新日期: 2023-09-27 18:04:37

我想通过部分聚合对象填充字段DataGridTextColumn。我想只绑定一个字段Nazwa(不是整个对象Wynik)类Rezultat到以下DataGridTextColumn。我该怎么做呢?

XAML:

<DataGridTextColumn Binding="{Binding Rezultat}" Header="Rezultat"/>
c#:

public class Rezultat
{
    public int IdWyniku { get; set; }
    public int IdZdarzenia { get; set; }
    public int IdUżytkownika { get; set; }
    public string Nazwa { get; set; }
    public Rezultat() { }
    public Rezultat(int IdZdarzenia, int IdUżytkownika, string Nazwa, int IdWyniku=0)
    {
        this.IdZdarzenia = IdZdarzenia;
        this.IdUżytkownika = IdUżytkownika;
        this.Nazwa = Nazwa;
        this.IdWyniku = IdWyniku;
    }
}
public class Zdarzenie
{
    public Rezultat Wynik { get; set; }
}

c#(来自另一个类的代码片段):

this.ListaKuponów[0].ListaZdarzeń.Add(new Zdarzenie()
{                       
    Wynik = new Rezultat(Convert.ToInt32(napis.ItemArray.GetValue(7)), this.IdRejestracji, wynik, idwyniku),  
});

如何通过部分聚合对象填充DataGridTextColumn

正如前面评论中指出的,您还没有向我们显示要绑定的属性。

假设您实现了Rezultat类型的属性Result,您需要在标记中绑定到Nazwa,如下所示:

 <DataGridTextColumn Binding="{Binding Result.Nazwa}" Header="Rezultat"/>

注意:如果你还没有在这个类上实现INotifyPropertyChanged,如果字段改变,你将不会收到任何更新。您需要在您的模型中创建一个额外的ViewModel或实现INotifyPropertyChanged。(假设您实际使用的是MVVM模式)