【问题标题】:Silverlight App - Change Styles on User-ClickSilverlight 应用程序 - 在用户单击时更改样式
【发布时间】:2013-06-04 11:15:25
【问题描述】:

我需要让用户能够通过更改用户点击时的外观来个性化 Silverlight 应用程序。

我是 Silverlight 的新手,目前正在学习一些教程等。在以前的角色中熟悉 html/css,我在此对现有 Silverlight 应用程序的一般样式做了一些工作。我现在的任务是添加此个性化设置,希望能对我应该如何处理它提出一些想法,非常感谢。

【问题讨论】:

标签: silverlight xaml personalization


【解决方案1】:

您可以通过在资源字典中定义您的样式来实现此目的 例如,您想要按钮的 2 种外观让我们说主题 1 和主题 2 因此,创建 2 个资源字典,以便每个资源字典包含不同样式的按钮。然后 将您的按钮样式绑定为

<Button Style = {DynamicResource ButtonStyle} Height =23 Width = 70/>

其中 ButtonStyle 是资源字典中定义的样式的键 现在在用户点击主题1

System.Windows.Application.Current.Resources.MergedDictionaries.Clear();
System.Windows.Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary { Source = new Uri("/ProjectName;component/theme1.xaml", UriKind.RelativeOrAbsolute) });

在用户点击主题2

 System.Windows.Application.Current.Resources.MergedDictionaries.Clear();
 System.Windows.Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary { Source = new Uri("/ProjectName;component/theme2.xaml", UriKind.RelativeOrAbsolute) });

希望这会有所帮助..

【讨论】:

  • 谢谢,会试一试,但不知道它是否会做我想做的一切。我希望能够通过一次用户单击来更改许多项目的样式 - 以更改可能整个站点的外观。我正在考虑做相当于以编程方式更改整个样式表..?或者可以达到类似结果的东西。
  • 是的,通过上述方法,您可以实现这一目标。只需为两个资源字典中的所有控件(您想要更改的)定义样式。在运行时更改资源字典类似于更改整个样式表
  • 并在用户点击时单独更改它们?此外,这种方法听起来很酷,但不幸的是,代码实际上并不适合我。如果被击中,我穿过了这条线,但它什么也没做。多花点宝贵的时间...?
  • 你可以从这个链接silverlightips.wordpress.com/2010/04/29/…有一点想法
  • 非常感谢 - 您上面的示例在更改资源文件后错过了重新应用样式,但链接中的那个有它,现在它可以工作了,非常好!
猜你喜欢
  • 2018-04-23
  • 1970-01-01
  • 2021-11-03
  • 2015-08-21
  • 2011-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多