- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在设计一个相当复杂的 WPF 应用程序,许多模块将使用 Prism v4 加载(一些用户控件将位于单独的 dll 中,以及一些其他功能/插件)。由于我刚刚开始使用 WPF,所以我有几个问题。
我希望所有的 GUI 都是“可换肤的”,用户可以单击并选择不同的配色方案,并且整个 GUI 会根据用户的选择更改显示 - 主屏幕,包括所有模块(即运行时皮肤变化)
问:您能推荐一些通用的方法吗?例如,我是否可以只编写 Xaml 而不指定任何样式(具体来说,不将其绑定(bind)到动态样式)并且它可以在运行时更改?我怎样才能切换事件皮肤,使其影响所有加载的用户控件?
谢谢
最佳答案
基本上,您所要做的就是换出资源字典。这些应该包含整个应用程序的样式和画笔等。您甚至可以将这些“皮肤”保留在外部组件中。
你应该看看ComponentResourceKeys用于“命名”外部资源,下面是一些关于如何从所述外部程序集加载资源的代码:
using (FileStream fs = new FileStream("MainResources.xaml", FileMode.Open))
{
ResourceDictionary dic = (ResourceDictionary) XamlReader.Load(fs);
Resources.MergedDictionaries.Clear();
Resources.MergedDictionaries.Add(dic);
}
关于c# - WPF 设计应用程序可动态换肤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7150554/
在 Vaadin 7.0,显示时JavaBean Table 中的数据与 BeanContainer ,用新数据刷新表的正确方法是什么? 最佳答案 该表通过监听器监视表项的属性。如果您通过表的 Ite
首先,我使用的是带有 Axis2 1.6.2 的 eclipse,我正在 tomcat 6 上部署我创建的 Web 服务。Web 服务是在 eclipse 中通过自上而下的方法创建的。 我被要求使对我
我已将 Rails 3.1.1 应用程序升级到 Rails 3.1.3,现在,对于每个请求,它仅响应错误数量的参数(3 for 1)。不幸的是,它没有说明错误在哪里,并且应用程序跟踪为空。我认为存在一
我是一名优秀的程序员,十分优秀!