You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF ListView项数正确但无法显示Kniha对象属性值的问题

解决WPF ListView无法绑定Kniha对象属性的问题

问题根源

WPF的数据绑定系统仅支持绑定到公共属性(Property),而你的Kniha类中所有成员都是公共字段(Field),包括Autor、Nazev等,这就是绑定提示“未找到Autor属性”的核心原因。集合能正确加载对象(所以项数显示正常),但绑定引擎无法访问字段值。

修改方案

将Kniha类中的所有字段改为带getter的公共属性(当前场景只读属性即可满足显示需求,若后续需双向绑定可再扩展setter和属性变更通知)。

修改后的Kniha类代码:

public class Kniha
{
    [BsonId]
    [BsonRepresentation(BsonType.ObjectId)]
    public string ID { get; set; }

    public string Nazev { get; set; }
    public string Autor { get; set; }
    public int RokVydani { get; set; }
    public int PocetStran { get; set; }
    public int PocetVytisku { get; set; }
    public byte[] Obrazek { get; set; }

    public Kniha(string nazev, string autor, int rok, int pocetStran, int pocetVytisku, byte[] obrazek, string id = "")
    {
        ID = id == "" ? new BsonID().Id.ToString() : id;
        Nazev = nazev;
        Autor = autor;
        RokVydani = rok;
        PocetStran = pocetStran;
        PocetVytisku = pocetVytisku;
        Obrazek = obrazek;
    }
}

额外优化建议

如果后续需要Kniha对象属性变更时自动更新UI,可以让Kniha类实现INotifyPropertyChanged接口,添加和MainVM一致的属性变更通知逻辑,确保数据变更能实时同步到界面。

内容的提问来源于stack exchange,提问作者Zdeňka Kolářová

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 23:55:32