首页 > 解决方案 > WPF DataGrid 绑定类中的某些字段不是全部

问题描述

我想通过 DataSource 将类中的某些字段绑定到 WPF 中的 DataGrid 但现在有问题,字段绑定正确但也有来自类的字段我不想要我如何禁止这种行为?

我将它们绑定到 DataGrid 的方法。

string[] tabelaPredmetBinding = { "Naziv", "Kratica", "Ects" };    
//method where I try to bind data to grid

    private void predmet_load()
    {
        DataGridPodatki.Columns.Clear();

        for (int i = 0; i < tabelaPredmet.Length; i++) {
            DataGridTextColumn textColumn = new DataGridTextColumn();
            textColumn.Header = tabelaPredmet[i];
            textColumn.Binding = new Binding(tabelaPredmetBinding[i]);
            DataGridPodatki.Columns.Add(textColumn);
        }

        /*foreach (var item in servis.vrniVsePredmete()) {
            DataGridPodatki.Items.Add(item);
        }*/

        DataGridPodatki.ItemsSource = servis.vrniVsePredmete();

    }

从 SOAP 服务返回的类

[DataContract]
public class Predmet
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [DataMember]
    [Key]
    public int Id { get; set; }
    [DataMember]
    public string Naziv { get; set; }
    [DataMember]
    public string Kratica{get; set;}
    [DataMember]
    public int Ects { get; set; }
    [DataMember]
    public virtual ICollection<StudentImaPredmet> studentiImajoPredmet { get; set; }

    public Predmet()
    {
        studentiImajoPredmet = new HashSet<StudentImaPredmet>();
    }

    public Predmet(string naziv, string kratica, int ects)
    {
        Naziv = naziv;
        Kratica = kratica;
        Ects = ects;
    }

}

这就是我得到的,我只想要

标签: .netwpfdatagrid

解决方案


DataGrid 具有具有默认值的AutoGenerateColumnstrue - 一个指示是否自动创建列的值。

false在分配 ItemsSource 之前将其设置为:

DataGridPodatki.AutoGenerateColumns = false;
DataGridPodatki.ItemsSource = servis.vrniVsePredmete();

另外:请查看属性和字段的区别,以及属性在绑定中的重要性。


推荐阅读