限制SilverlightWPF行为可见性

限制SilverlightWPF行为可见性,第1张

概述在Silverlight(可能还有 WPF)中,当我定义一个System. Windows.Interactivity.Behavior< T>时例如像ItemsControl一样 public class SomeAwesomaticBehavior : Behavior<ItemsControl>{} 它将出现在Visual Studio的XAML编辑器中(也可能出现在Designer中) 在Silverlight(可能还有 WPF)中,当我定义一个System. Windows.Interactivity.Behavior< T>时例如像ItemsControl一样

public class SomeAwesomaticBehavior : Behavior<ItemsControl>{}

它将出现在Visual Studio的XAML编辑器中(也可能出现在Designer中),即使对于普通的非Items控件也会出现令人讨厌的运行时异常.这与仅为预期类型出现的附加属性相反.

有没有办法限制这种可见性?一些神奇的属性可能(虽然这将是一个多余的声明)?

如果今天没办法,我希望将来会有这样的事情吗?因为当d出很多与当前对象无关的行为时,肯定会让同事和设计人员感到困惑.

更新:我已经提交了uservoice项目.

Silverlight:http://dotnet.uservoice.com/forums/4325-silverlight-feature-suggestions/suggestions/1224253-restrict-behavior-visibility?ref=title

WPF:http://dotnet.uservoice.com/forums/40583-wpf-feature-suggestions/suggestions/1224259-restrict-behavior-visibility?ref=title

解决方法 @HeRz你是对的,没有办法按目标类型过滤行为. Blend(可能还有vs designer)使用反射来查找从基类型行为继承的所有类型,并将它们显示在资源列表中.

混合将阻止您将行为或触发器拖动到不适合的项目上.所以这应该有助于防止他们滥用.

我通常尝试将行为编写为可重用的代码片段,而不是作用于特定情况.它们只是具有特定目的的工具.

总结

以上是内存溢出为你收集整理的限制Silverlight / WPF行为可见性全部内容,希望文章能够帮你解决限制Silverlight / WPF行为可见性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1000913.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-21
下一篇2022-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存