88得票2回答
何时应该使用FrameworkPropertyMetadata或UIPropertyMetadata而不是普通的PropertyMetadata?

观察附带属性和行为的示例时,我看到了各种使用 FrameworkPropertyMetadata、UIPropertyMetadata 和 PropertyMetadata 的混杂。由于它们都构成了继承层次结构,那么我如何选择要使用哪个呢?

36得票4回答
如何在MVVM中处理ComboBox的SelectionChanged事件?

对于那些纯粹使用MVVM的人,如何处理ComboBox的SelectionChanged事件而不回到代码后台? 我尝试过例如AttachedBehaviors,但是Event="SelectedChanged"不被支持: <ComboBox> <ComboBoxI...

20得票2回答
通过匿名委托取消事件订阅

我经常使用Resharper 5.1代码分析,但经常会从resharper中得到以下提示: "通过匿名委托取消订阅事件"#Part of Code if (((bool)e.NewValue)) { listView.PreviewTextInput += (o,args) =...

13得票2回答
如何修复AttachedBehavior中DependencyPropertyDescriptor AddValueChanged的内存泄漏问题?

我知道需要调用RemoveValueChanged,但是我一直没有找到一个可靠的地方去调用它。我现在明白了可能没有这样的地方。 看起来我需要找到一种不同的方式来监视更改,而不是使用AddValueChanged添加处理程序。我正在寻求关于实现此目的的最佳建议。我曾经看到过建议在Property...

12得票1回答
有没有一种安全的方法可以在没有副作用的情况下分离/卸载行为?

在WPF和WinRT中,有一个众所周知的问题:行为对象无法可靠地调用其Detach方法。避免内存泄漏的唯一方法是订阅AssociatedObject的Unloaded事件并取消挂接所有事件(示例)。 到目前为止这样做可以解决问题。 但我意识到(正如其他人在我链接的博客文章中发表评论的那样)...

11得票3回答
缩减MVVM WPF应用程序中的样板代码,以处理附加属性、命令等?

我正在开发一个WPF MVVM应用程序。我注意到的一件事是,我不得不编写大量样板代码来声明命令(通过WPF团队的MVVM工具包中的DelegateCommands)、附加属性和附加行为。有没有可用的策略可以减少我需要编写的样板代码量? 谢谢!

8得票1回答
<i:Interaction.Behavior>选项未出现用于应用行为。

我一直在尝试在WPF窗口上实现一个行为,因此我在当前解决方案中添加了对System.Winodws.Interactivity的引用,然后编写了所需的行为。但是为了应用此行为,我必须在Windows XAML中编写如下内容: &lt;Window x:Class="WpfApplicatio...

7得票2回答
WPF中如何对附加属性进行单元测试

我仍在学习关于附加行为的知识,并且不知道如何编写一个单元测试。 下面是来自Sacha Barber的Cinch框架的代码,可以通过附加行为关闭窗口。有人能给我展示一个例子单元测试吗? 谢谢! Berryl #region Close /// &lt;summary&gt...

7得票2回答
混合行为 - 你能绑定它们的属性吗?

我目前正在将我创建的一些附加行为迁移到Blend Behaviours,以便它们支持Expression Blend中的拖放。我注意到Blend行为的作者倾向于将行为属性定义为依赖属性。 我创建了一个名为TiltBehaviour的行为,它公开了一个类型为double的公共依赖属性TiltF...