WPF使用自定义、用户控件通过依赖属性使用Binding

比如这里的自定义控件是对TextBox进行包装

UserControl中:

xaml:

        --这里就只是简单地绑定上了自己code_behind里面的属性Text,还加上了一个实时更新

code_hehind:

        

public partial class UserControl1 : UserControl
{

    public string Text
    {
        get { return (string)GetValue(TextProperty); }
        set { SetValue(TextProperty, value); }
    }

    // Using a DependencyProperty as the backing store for MyProperty.  This enables animation, styling, binding, etc...
    public static readonly DependencyProperty TextProperty =
        DependencyProperty.Register(
            "Text", 
            typeof(string), 
            typeof(UserControl1), 
            new PropertyMetadata("Hello", new PropertyChangedCallback(OnTextChanged)));

    /// 
    /// 属性值修改就触发这个回调
    /// 
    /// 
    /// 
    private static void OnTextChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        
    }

    public UserControl1()
    {
        InitializeComponent();
    }
}

        --code_behind里面有个属性,有个依赖属性,还有一个依赖属性回调

        ---为什么使用依赖属性呢?需要这样子才能在引用这个自定义控件后实现对该自定义控件的绑定,更好地使用MVVM

使用自定义控件UserControl的页面中:

        --这个v就是自定义控件的命名空间,Text绑定的就是ViewModel中的属性

你可能感兴趣的:(wpf,C#,wpf,开发语言)