【问题标题】:Silverlight Toolkit - ChildWindow with ThemeSilverlight 工具包 - 带主题的 ChildWindow
【发布时间】:2011-04-27 14:08:59
【问题描述】:

从我发现的一个 silverlight 论坛页面中,我的印象是,在后面的代码中创建的 ChildWindow选择页面其余部分的主题;只有当您从 ChildWindow 继承时,情况才不再如此。

出于某种原因,尽管这对我来说并没有发生。这是我的主题元素:

<wp:Theme x:Name="ThemeContainer" ThemeUri="/System.Windows.Controls.Theming.BubbleCreme;component/Theme.xaml"> 

这是我用来尝试创建 ChildWindow 的按钮的事件处理程序。弹出窗口,但未应用任何主题:

    private void Button_Click(object sender, RoutedEventArgs e) {
        ChildWindow cw = new ChildWindow() { Height = 250, Width = 200 };
        cw.Show();
    }

有什么方法可以让它工作吗?

【问题讨论】:

    标签: silverlight silverlight-4.0 silverlight-toolkit


    【解决方案1】:

    您必须在 App.xaml 中设置所需的全局主题并将其声明为应用程序的主题:

    <Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
                 x:Class="MyApp"
                 xmlns:thm="MyThemeNamespace"
                 thm:MyTheme.IsApplicationTheme="True"
                 >
        <Application.Resources>
    
        </Application.Resources>
    </Application>
    

    要动态设置应用主题,可以试试静态的

    Theme.SetApplicationThemeUri(myApp, myThemeUri);
    

    【讨论】:

    • 呸 - 如果我这样做了,我还能像在页面上声明的主题一样在应用程序运行时动态切换主题吗??
    • 效果很好。我什至不需要 app.xaml 文件中的任何内容。只需在我后面的代码中设置 Theme.SetApplicationThemeUri(myApp, myThemeUri) 就是我需要的。我正在尝试制作用户可以选择的经典组合框'o 主题。
    猜你喜欢
    • 2011-07-15
    • 2011-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多