【问题标题】:Styles Don't Update样式不更新
【发布时间】:2011-02-11 14:25:16
【问题描述】:

我正在尝试在我的应用程序中使用主题,但我的样式应用不正确时遇到问题。我运行以下代码行:

        App.Current.Resources.MergedDictionaries.Clear();                       
        ResourceDictionary rd = new ResourceDictionary();
        rd.Source = new Uri( "/Style2.xaml", UriKind.RelativeOrAbsolute );
        App.Current.Resources.MergedDictionaries.Add( rd );

我需要刷新页面吗?如果是这样,我该如何在 Silverlight 中做到这一点?

谢谢! 布莱克

【问题讨论】:

    标签: .net silverlight mvvm silverlight-4.0 prism


    【解决方案1】:

    是的,您需要“刷新页面”静态资源顾名思义就是静态的。 Xaml 解析器按原样即时解析它们。

    您将需要创建一个您当前分配给App.RootVisual 的新实例并重新分配它。下面是一些通用的代码,可以解决问题:-

      App.RootVisual = (UIElement)Activator.CreateInstance(App.RootVisual.GetType());
    

    【讨论】:

    • 你知道这将如何与 Prism 一起工作吗?我也是 Prism 的新手,但似乎这可能会干扰 Boostrapper。
    • @Blake:抱歉,我没有,谢天谢地,我暂时避开了 Prism。但是,如果它与其他 MVVM 解决方案相似,我的答案将是一个问题。你能不能在调用这个主题的过程中改变一些导航感,从而导致新页面的加载?
    • 是的,这是个好主意。我想在登录时处理用户的样式,以便当时可以导航和加载另一个页面。另外,我开始研究“隐式样式”,它看起来会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    • 2013-11-02
    • 2011-05-29
    • 1970-01-01
    相关资源
    最近更新 更多