【发布时间】:2012-05-02 07:04:05
【问题描述】:
我一直在尝试将 System.Windows.Interactivity.Interaction 与 MS Expression Blend SDK for .NET 4 中的 WPF 结合使用。问题是我在那里找不到 Interaction.Triggers 附加属性。 Interaction 类存在,但我只能看到其中的 4 个成员:Equals、GetBehaviors、GetTriggers、ReferenceEquals。 我查看了我项目中对System.Windows.Interactivity.dll的引用的属性,发现路径是
"C:\Program Files (x86)\Microsoft SDKs\Expression\Blend.NETFramework\v4.0\Libraries\System.Windows.Interactivity.dll"
所以,我用 IL Disassеmbler 打开该路径上的文件,发现 Interaction 类实际上具有 Triggers 附加属性,但该属性被声明为私有!然后我在 Prism SDK 的 \Lib\Desktop 目录中打开了相同的 dll 并在那里发现了相同的情况。这些 dll 的版本是 2.0.20525.0。还有一个带有 System.Windows.Interactivity dll 的 System.Windows.Interactivity.xml 文件。在其中我发现了关于 TriggersProperty 的以下内容:
此属性未公开。这会强制客户端使用 GetTriggers 和 SetTriggers 方法来访问 集合,确保集合存在并在使用前设置。
但我在那里没有找到任何 SetTriggers 方法。顺便说一句,Silverlight 的 Interaction 有 TriggersProperty 作为公共成员。
我已经看到了许多将 Interaction.Triggers 与 WPF 结合使用的示例,我认为应该没有任何问题。我做错了什么?
【问题讨论】:
标签: c# wpf expression-blend