gpt4 book ai didi

wpf - 限制 Silverlight/WPF 行为可见性

转载 作者:行者123 更新时间:2023-12-04 15:37:28 27 4
gpt4 key购买 nike

在 Silverlight(可能还有 WPF)中,当我定义一个 System.Windows.Interactivity.Behavior<T> 时例如ItemsControl , 喜欢

public class SomeAwesomaticBehavior : Behavior<ItemsControl>
{
}

即使对于普通的非项目控件,它也会出现在 Visual Studio 的 XAML 编辑器中(也可能在设计器中),并抛出令人讨厌的运行时异常。这与仅针对预期类型显示的附加属性相反。

有没有办法限制这种可见性?可能有一些魔法属性(尽管这将是一个多余的声明)?

如果今天没有办法,希望以后有办法?因为当弹出许多与当前对象无关的行为时,它肯定会混淆同事和设计师。

更新:我已经提交了用户语音项目。

银光: 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(可能与设计器)使用反射来查找您创建的所有类型,这些类型继承自基本类型 Behavior 并将它们显示在 Assets 列表中。

Blend 将阻止您将行为或触发器拖动到非预期项目上。所以这应该有助于防止它们被滥用。

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

关于wpf - 限制 Silverlight/WPF 行为可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3684513/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com