Telerik UI for WPF官方最新版免費下載試用,曆史版本下載,在線文檔和幫助文件下載-慧都網
通過使用帶有隐式樣式的主題機制,您可以在運行時更改Telerik UI for WPF控件的主題,無需重新創建UI。需要做的就是删除當前合并的詞典,然後在代碼隐藏中将另一個主題的合并詞典添加到您的應用程序資源中:
示例 1:在代碼中合并資源字典
C#
Application.Current.Resources.MergedDictionaries.Clear();
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = ......});
這将在運行時将不同的隐式樣式應用于您的控件。
在這篇幫助文章中,我們将通過一個快速示例來演示該方法。
1. 從位于控件安裝文件夾中的 Binaries.NoXAML 文件夾中添加所需的程序集,您還必須包括主題程序集。
2. 在 App.xaml 中為默認主題添加所需的資源字典。
示例 2:在 XAML 中合并 ResourceDictionaries
XAML
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Telerik.Windows.Themes.Office_Black;component/Themes/System.Windows.xaml"/>
<ResourceDictionary Source="/Telerik.Windows.Themes.Office_Black;component/Themes/Telerik.Windows.Controls.xaml"/>
<ResourceDictionary Source="/Telerik.Windows.Themes.Office_Black;component/Themes/Telerik.Windows.Controls.Input.xaml"/>
...
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
3. 将您選擇的一些控件添加到頁面中。 在這個例子中,我們将添加一個 Grid、StackPanel、RadComboBox、RadDateTimePicker 和三個 RadButton 來在三個主題之間切換。
示例 3:定義視圖
XAML
<Grid x:Name="LayoutRoot" Background="White">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Background="#FFE5E5E5" HorizontalAlignment="Stretch">
<telerik:RadButton Content="Office Black" VerticalAlignment="Center" Width="110" Margin="10" Click="OfficeBlack_Click" />
<telerik:RadButton Content="Windows8" VerticalAlignment="Center" Width="110" Margin="10" Click="Windows8_Click" />
<telerik:RadButton Content="Windows 7" VerticalAlignment="Center" Width="110" Margin="10" Click="Windows7_Click" />
</StackPanel>
<StackPanel Orientation="Vertical" Grid.Row="1" Margin="20" HorizontalAlignment="Left">
<telerik:RadComboBox Width="230" Margin="10">
<telerik:RadComboBoxItem Content="Item 1" />
<telerik:RadComboBoxItem Content="Item 2" />
<telerik:RadComboBoxItem Content="Item 3" />
<telerik:RadComboBoxItem Content="Item 4" />
<telerik:RadComboBoxItem Content="Item 5" />
</telerik:RadComboBox>
<telerik:RadDateTimePicker Width="230" Margin="10" IsDropDownOpen="True" />
</StackPanel>
</Grid>
4. 該示例将使用最簡單的方法在運行時更改主題 - 它将使用三個按鈕中的每一個的 Click 事件。 單擊後,我們将從應用程序資源中清除合并的字典,并從主題程序集中合并新的資源字典。
示例 4:在運行時合并主題資源
C#
private void OfficeBlack_Click(object sender, RoutedEventArgs e)
{
Application.Current.Resources.MergedDictionaries.Clear();
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() {
Source = new Uri("/Telerik.Windows.Themes.Office_Black;component/Themes/System.Windows.xaml", UriKind.RelativeOrAbsolute)});
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() {
Source = new Uri("/Telerik.Windows.Themes.Office_Black;component/Themes/Telerik.Windows.Controls.xaml", UriKind.RelativeOrAbsolute)});
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() {
Source = new Uri("/Telerik.Windows.Themes.Office_Black;component/Themes/Telerik.Windows.Controls.Input.xaml", UriKind.RelativeOrAbsolute)});
}
private void Windows8_Click(object sender, RoutedEventArgs e)
{
Application.Current.Resources.MergedDictionaries.Clear();
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() {
Source = new Uri("/Telerik.Windows.Themes.Windows8;component/Themes/System.Windows.xaml", UriKind.RelativeOrAbsolute)});
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() {
Source = new Uri("/Telerik.Windows.Themes.Windows8;component/Themes/Telerik.Windows.Controls.xaml", UriKind.RelativeOrAbsolute)});
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() {
Source = new Uri("/Telerik.Windows.Themes.Windows8;component/Themes/Telerik.Windows.Controls.Input.xaml", UriKind.RelativeOrAbsolute)});
}
private void Windows7_Click(object sender, RoutedEventArgs e)
{
Application.Current.Resources.MergedDictionaries.Clear();
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() {
Source = new Uri("/Telerik.Windows.Themes.Windows7;component/Themes/System.Windows.xaml", UriKind.RelativeOrAbsolute)});
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() {
Source = new Uri("/Telerik.Windows.Themes.Windows7;component/Themes/Telerik.Windows.Controls.xaml", UriKind.RelativeOrAbsolute)});
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() {
Source = new Uri("/Telerik.Windows.Themes.Windows7;component/Themes/Telerik.Windows.Controls.Input.xaml", UriKind.RelativeOrAbsolute)});
}
5. 圖 1-3 顯示了最終結果。
圖 1:單擊 Office Black 按鈕來顯示黑色和灰色主題。
圖 2:Windows8 主題為所有控件顯示了一組不同的顔色——Windows 8 的平面樣式。
圖 3:最後,Windows7 主題為控件顯示了一組藍灰漸變色。
Telerik UI for WPF
Telerik UI for WPF擁有超過100個控件來創建美觀、高性能的桌面應用程序,同時還能快速構建企業級辦公WPF應用程序。UI for WPF支持MVVM、觸摸等,創建的應用程序可靠且結構良好,非常容易維護,其直觀的API将無縫地集成Visual Studio工具箱中。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!