繁体   English   中英

绑定自定义属性类WPF

[英]binding a custom property class WPF

我有一个名为“RFPGegevens”的自定义WPF属性类

public class RFPGegevens
{
    private string _klant;
    public String Klant
    {
        get { return _klant; }
        set { _klant = value; }
    }
 }

在我的ViewModel中,我得到了一个属性RFPGegevens

    private RFPGegevens _rfpGegevens;

    public RFPGegevens RfpGegevens
    {
        get
        {
            if (_rfpGegevens == null)
                _rfpGegevens = new RFPGegevens();
            return _rfpGegevens;
        }
        set
        {
            _rfpGegevens = value;
            base.RaisePropertyChangedEvent("RfpGegevens");
        }
    }

正确填充此属性,如果我调试这是结果:

在此输入图像描述

在我的视图中,我将属性“RFPGegevens”绑定到我的Grid的datacontext

<Grid DataContext="{Binding RfpGegevens}">

如果我调试“Klant”属性字段仍然填充。

在此输入图像描述

但是当我在View中绑定这个属性时,我的文本框仍然是空的。

<TextBox Text="{Binding Klant, Mode=TwoWay}"/>

我也尝试了这个但是没有效果似乎有效:

<TextBox Text="{Binding RFPGegevens.Klant, Mode=TwoWay}"/>

不知道我做错了什么。
提前致谢 ;)

尝试两件事

<TextBox Text="{Binding Klant, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>

public class RFPGegevens
{
    private string _klant;
    public String Klant
    {
        get { return _klant; }
        set {
              _klant = value; 
              //Raise the property changed event here
            }
    }
 }

您需要为自定义类实现INotifyPropertyChanged接口,如下所示:

public class RFPGegevens : INotifyPropertyChanged

并从属性的set访问器中引发propertychanged事件。

您忘记从INotifyPropertyChanged添加继承

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM