如何通过聚合对象的一部分填写DataGridTextColumn?

时间:2014-05-22 22:41:34

标签: c# wpf xaml datagrid aggregation

我想通过聚合对象的一部分填写DataGridTextColumn字段。 我想将Rezultat类的字段Nazwa(不是整个对象Wynik)绑定到以下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),  
});

1 个答案:

答案 0 :(得分:0)

正如评论前面所指出的那样,您还没有向我们展示您具有约束力的财产。

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

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

注意:如果您尚未在此课程中实施INotifyPropertyChanged,则在字段更改时您将无法收到任何更新。您需要在模型中创建额外的ViewModel或实现INotifyPropertyChanged。 (假设您实际上正在使用MVVM模式)