Telerik RadWindow
Telerik RadWindow
我在使用 WPF 中的 Telerik 主题时遇到了一些问题
我添加了对 Telerik.Windows.Themes.Windows8 的引用,并使用文件 App.xaml 和以下代码合并了资源:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Telerik.Windows.Themes.Windows8;component/Themes/System.Windows.xaml"/>
<ResourceDictionary Source="/Telerik.Windows.Themes.Windows8;component/Themes/Telerik.Windows.Controls.xaml"/>
<ResourceDictionary Source="/Telerik.Windows.Themes.Windows8;component/Themes/Telerik.Windows.Controls.Navigation.xaml"/>
<ResourceDictionary Source="/Telerik.Windows.Themes.Windows8;component/Themes/telerik.windows.controls.docking.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
现在我想将 Windows 8 样式应用于我的主要 windows,所以我将其更改为 telerik:RadWindow
<telerik:RadWindow
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
x:Class="Foo.MainWindow"
Header="MainWindow" Height="350" Width="525">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="37,79,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/>
<telerik:RadSlider HorizontalAlignment="Left" Margin="273,156,0,0" VerticalAlignment="Top" Width="200"/>
<telerik:RadButton Content="Button" HorizontalAlignment="Left" Height="Auto" Margin="158,232,0,0" VerticalAlignment="Top" Width="Auto" Click="ButtonBase_OnClick"/>
</Grid>
</telerik:RadWindow>
在设计器中应用了主题并且一切正常:
但是当我启动应用程序时,它看起来完全不同:
我不知道为什么会出现这个错误。
如果我使用代码创建 RadWindow,它会完美运行:
RadWindow w = new RadWindow();
w.Width = 500;
w.Height = 500;
w.Show();
我认为当您使用隐式样式时,您需要声明您的 window 样式基于您导入的隐式样式。将此添加到您的 RadWindow
XAML:
<telerik:RadWindow.Style>
<Style TargetType="telerik:RadWindow" BasedOn="{StaticResource RadWindowStyle}" />
</telerik:RadWindow.Style>
或者将其添加到您的资源字典(local:MainWindow
应该解析为 Foo.MainWindow
):
<Style BasedOn="{StaticResource RadWindowStyle}" TargetType="local:MainWindow" />
以下是一些可能有用的链接:
http://www.telerik.com/forums/show-radwindow-with-implict-style
http://www.telerik.com/support/kb/wpf/window/details/how-to-use-radwindow-as-main-window
我在使用 WPF 中的 Telerik 主题时遇到了一些问题 我添加了对 Telerik.Windows.Themes.Windows8 的引用,并使用文件 App.xaml 和以下代码合并了资源:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Telerik.Windows.Themes.Windows8;component/Themes/System.Windows.xaml"/>
<ResourceDictionary Source="/Telerik.Windows.Themes.Windows8;component/Themes/Telerik.Windows.Controls.xaml"/>
<ResourceDictionary Source="/Telerik.Windows.Themes.Windows8;component/Themes/Telerik.Windows.Controls.Navigation.xaml"/>
<ResourceDictionary Source="/Telerik.Windows.Themes.Windows8;component/Themes/telerik.windows.controls.docking.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
现在我想将 Windows 8 样式应用于我的主要 windows,所以我将其更改为 telerik:RadWindow
<telerik:RadWindow
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
x:Class="Foo.MainWindow"
Header="MainWindow" Height="350" Width="525">
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="37,79,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/>
<telerik:RadSlider HorizontalAlignment="Left" Margin="273,156,0,0" VerticalAlignment="Top" Width="200"/>
<telerik:RadButton Content="Button" HorizontalAlignment="Left" Height="Auto" Margin="158,232,0,0" VerticalAlignment="Top" Width="Auto" Click="ButtonBase_OnClick"/>
</Grid>
</telerik:RadWindow>
在设计器中应用了主题并且一切正常:
我不知道为什么会出现这个错误。 如果我使用代码创建 RadWindow,它会完美运行:
RadWindow w = new RadWindow();
w.Width = 500;
w.Height = 500;
w.Show();
我认为当您使用隐式样式时,您需要声明您的 window 样式基于您导入的隐式样式。将此添加到您的 RadWindow
XAML:
<telerik:RadWindow.Style>
<Style TargetType="telerik:RadWindow" BasedOn="{StaticResource RadWindowStyle}" />
</telerik:RadWindow.Style>
或者将其添加到您的资源字典(local:MainWindow
应该解析为 Foo.MainWindow
):
<Style BasedOn="{StaticResource RadWindowStyle}" TargetType="local:MainWindow" />
以下是一些可能有用的链接:
http://www.telerik.com/forums/show-radwindow-with-implict-style http://www.telerik.com/support/kb/wpf/window/details/how-to-use-radwindow-as-main-window