我一直在尝试使用 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 打开该路径上的文件,发现交互类实际上具有 Triggers 附加属性,但该属性被声明为私有!然后我在 Prism SDK 的 \Lib\Desktop 目录中打开了相同的 dll 并在那里发现了相同的情况。这些 dll 的版本是 2.0.20525.0。还有一个带有 System.Windows.Interactivity dll 的 System.Windows.Interactivity.xml 文件。在其中,我发现了以下有关 TriggersProperty 的信息:
此属性不公开。这会强制客户端使用 GetTriggers 和 SetTriggers 方法来访问集合,确保集合存在并在使用之前设置。
但我没有在那里找到任何 SetTriggers 方法。顺便说一句,Silverlight 的交互将 TriggersProperty 作为公共成员。
我看过很多使用 Interaction.Triggers 和 WPF 的例子,我认为应该没有任何问题。我究竟做错了什么?
我是.Net开发人员,想要开发Silverlight应用程序.我有VS 2008,但想知道我是否应该/需要表达混合.沿着VS混合的利弊是什么?
我有一组UserControls需要有一些类似的属性.因此,我定义了一个UserControl的抽象子类,它定义了这些属性,并更新了.xaml.cs和.g.cs文件以从该基类继承.所有编译良好,运行良好.大!但是.... g.cs文件是生成的并且将被重新生成,那么我如何告诉Blend或Visual Studio继续继承我的基类而不是UserControl?
silverlight inheritance user-controls auto-generate expression-blend
对于使用WPF或Silverlight(xaml代码)进行项目的开发人员来说,是否可以尝试学习一些设计(基础知识)并处理混合?因为在法国没有太多混合专业(与photoshop用户相比),混合设计师的价格/天非常高.
我确信我不是没有艺术家,但学习与纯代码不同的东西可能会很有趣/有趣.所以我的问题主要是设计师或开发人员必须学习一些设计,对定制设计来说难吗?
我在Expression Blend中有一个WPF应用程序.
在应用程序中,我希望在右侧有一个列出单词的列表框.
当用户点击某个单词时,我希望在左侧显示单词,描述和其他一些文本的较大文本.
我明白要列出列表框中的所有单词,我需要对包含单词,描述和其他文本的数据进行数据绑定.
我是这个数据绑定的新手.
有人可以帮我在Expression Blend 4中如何做到这一点吗?
谢谢!
Silverlight的MSDN文档现在在几个地方陈述:
Expression Blend似乎很乐意支持并鼓励他们使用它们,并且有很多博客文章赞美使用触发器和动作而没有任何警告.
触发器的推荐替代品是什么?我应该坚持使用代码隐藏事件处理程序吗?
我有一个方法可以禁用窗口上的所有butttons.但我似乎无法获得Button类型以匹配Resource集合
我正在使用带有ac#代码隐藏的Expression Blend 3
void DisableButtons()
{
for(int i = 0; i>= this.Resources.Count -1; i ++)
{
if (this.Resources[i].GetType() == typeof(Button))
{
Button btn = (Button)this.Resources[i];
btn.IsEnabled = false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
更新
谢谢你的回答!确定循环正在运行,但我的代码不正确.
this.Resources
好像不包括我的按钮!这可能是一个混合的东西?
是的.我最终手动完成了.因为我很仓促,并没有一个简单的简单解决方案.感谢所有的输入!
我正在尝试使用Expression Blend在Silverlight中设置ComboBox的样式.
ComboBox模板包含四个项目:
ContentPresenterBorderDisabledVisualElementFocusVisualElementPopup双方ContentPresenterBorder并Popup包含子元素,并且也有一个小图标,看起来像一个拼图一块带有一个绿色的勾.鼠标悬停在此图标上,我收到工具提示:
Popup是一个控制部分.
这是什么意思?
我知道Blend确实让事情变得更容易.但它是否有任何额外的库可以提供更多功能?或者允许通过Visual Studio使用常规WPF无法完成的事情?
谢谢?
我正在尝试使网格在运行时由用户调整大小.我发现了很多例子,但它们似乎都是因为使用装饰等而使它变得过于复杂.
不过,我确实找到了一个理想的解决方案:
https://resizablegrid.codeplex.com/
它使用拇指,看起来很简单.但是,当我编辑模板(删除除SE中的所有拇指之外的所有拇指)时,它会中断 - 它不再可调整大小(即使我没有对模板进行任何更改也是如此).
我只想在右下角使用一个简单的控件,例如拇指或ResizeGrip,这将使用户能够调整面板的大小.
即使替代解决方案有点复杂,我仍然想知道所涉及的步骤.