是 WPF 依赖项属性中的每个属性



我读了这篇文章和这篇关于 depency 属性的文章,我很困惑,XAML 依赖项属性中的所有属性都是吗? 那么我们在 C# 中定义的普通属性呢?我的意思是这样的:Public int num {get; set;}.

因为 C# 中的普通属性具有一些功能,它们提到它们是依赖项属性的选项,例如我可以将它们的值绑定到文本框值。

如果你能举一个简单的例子,我将不胜感激。

我觉得其他帖子很好地回答了依赖属性是什么,所以我将回答您的问题,展示如何制作依赖属性,希望这会有所帮助。

所有属性都在 XAML 依赖项属性中吗?

否,必须这样指定依赖项属性。见下文...

public class MyDataGridControl : DataGrid
{
    public string SomeName
    {
        get { return (string)GetValue(SomeNameProperty); }
        set { SetValue(SomeNameProperty, value); }
    }
    public static readonly DependencyProperty SomeNameProperty = 
        DependencyProperty.Register(
            nameof(SomeName), typeof(string), typeof(MyDataGridControl),
            new PropertyMetadata(null));
}

在上面的示例中,我创建了一个从 DataGrid 继承的类来制作我自己的 DataGrid 控件。我已经创建了"正常属性"SomeName。然后,我将 SomeName 注册为依赖项属性。请注意,虽然 SomeName 是一个"普通属性",但 getter 和 setter 引用的是 SomeNameProperty Dependency 属性。

最新更新