正确的值不是来自c#中的XML UI

本文关键字:中的 XML UI | 更新日期: 2023-09-27 18:16:20

我有一个xml文件,其中有一个条目如下:

<Item name="ID" value="001" />
char []t_id = new char[25];

我有业务逻辑侧的属性:

 public char[] XID
    {
        get { return this.t_id; }
        set { this.t_id = value; }
    }
UI端绑定到textBox的

属性:

public string YID
    {
        get
        {
            char[] value = this.Obj.XID;
            return new string(value);
        }
        set
        {
            this.Obj.XID = value.ToCharArray();
        }
    }

在XMl解析过程中获取ID的默认值:

case "ID":
this.XID = node.Value.ToCharArray();
break;

问题是,当我启动我的应用程序,我得到系统。Char[]代替值001。请告诉我哪里做错了,为什么我没有得到正确的值

正确的值不是来自c#中的XML UI

XID属性发生变化时,您需要使用INotifyPropertyChanged接口来更新YID属性。试试这样做:

public char[] XID
{
    get { return this.t_id; }
    set { this.t_id = value; NotifyPropertyChanged("YID"); }
}

另外,如果您看到的是system.char[]而不是实际的string,那么这使我认为您显示的是XID属性而不是YID属性。试试这样做:

<TextBlock Text="{Binding YID}" />