【问题标题】:Adding Dependency Property from code从代码中添加依赖属性
【发布时间】:2013-12-02 19:14:52
【问题描述】:

我已经为 Window 类创建了自定义依赖属性。我在 xaml 中的 TextBox 上设置此属性,如下面的代码所示。 SampleProperty 类扩展了 Windows 类,而不是 Stackpanel。

<StackPanel l:SampleProperty.IsSamplePropertyField="true"/>

如何从我的代码中设置此属性?

【问题讨论】:

    标签: .net wpf dependency-properties attached-properties


    【解决方案1】:

    当您定义附加属性时,您创建了静态 getter 和 setter 方法,您可以在代码中使用它们:

    SampleProperty.SetIsSamplePropertyField(myStackPanel, true);
    

    【讨论】:

    • 应该是 SampleProperty.IsSamplePropertyField(myStackPanel,true)
    • @xxMUROxx 所有附加的属性设置器按照约定都以“Set”为前缀,因此实际上是SetIsSamplePropertyField。示例:ScrollViewer.SetIsDeferredScrollingEnabled
    • 哦,对不起,我自己弄糊涂了。我的意思是 myStackPanel.SetValue(SampleProperty.IsSampleProperty, true)
    • 这是另一个选项,但我发现使用我的选项更好,因为 setter 方法有时除了设置值之外还有其他逻辑。
    • setter 方法不应该有额外的逻辑,当从 XAML 中使用附加属性时,它会被绕过。
    猜你喜欢
    • 2013-03-11
    • 2011-02-02
    • 2012-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-25
    • 2017-04-01
    相关资源
    最近更新 更多