【问题标题】:When should I use FrameworkPropertyMetadata or UIPropertyMetadata over plain PropertyMetadata?我什么时候应该在普通的 PropertyMetadata 上使用 FrameworkPropertyMetadata 或 UIPropertyMetadata?
【发布时间】:2010-03-21 12:11:42
【问题描述】:

在查看示例附加属性和行为时,我看到FrameworkPropertyMetadataUIPropertyMetadataPropertyMetadata 的混合使用。既然都形成了继承层次结构,那我该如何选择使用哪一个呢?

【问题讨论】:

    标签: wpf attached-properties attachedbehaviors


    【解决方案1】:

    这些类用于报告依赖属性的某些行为方面。

    检查不同的类以了解它们提供的选项。

    例如,

    如果您只想通过 dp 支持属性并提供默认值,请使用 PropertyMetadata

    如果要指定动画行为,请使用UIPropertyMetadata

    但如果某些属性影响 wpf 框架级别的东西,例如元素布局、父布局或数据绑定,请使用 FrameworkPropertyMetadata

    详情可以在msdnhttp://msdn.microsoft.com/en-us/library/ms751554.aspx查看

    【讨论】:

    • 真正的问题是,为什么 propdp sn-p 使用 UIPropertyMetadata,尤其是 Silverlight 中没有 PropertyMetadata 子类?它让我发疯。
    • 这是因为相同的 sn-ps 在 WPF 和 Silverlight 之间共享。您可以通过此链接为 silverlight 尝试不同的 sn-ps:blog.nerdplusart.com/archives/silverlight-code-snippets
    • MSDN 说“一般来说,您应该使用 FrameworkPropertyMetadata,特别是如果您的属性与属性系统和 WPF 功能(例如布局和数据绑定)有任何交互。” - (指定元数据)msdn.microsoft.com/en-us/library/ms751554.aspx
    • FrameworkPropertyMetadata 应该用于什么样的数据绑定?我只是想要一个绑定到控件的 IsEnabled 的属性。
    猜你喜欢
    • 2016-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 2016-11-01
    • 2021-06-13
    相关资源
    最近更新 更多