转至元数据结尾
转至元数据起始

以下主题将详细介绍如何自定义C1DockControl的布局和外观,您可以通过模板来定义控件的格式和布局,同时自定义控件的行为。

模板

WPF及及Silverlight版版控件的一个优势在于控件具有完全自定义的"无外观"用户界面,例如您在为WPF或Silverlight应用设
计用户界面(UI)时,可以通过WPF及及Silverlight版版DockControl来实现适用于数据管理的UI。可扩展标记语言
(XAML;发音为"Zammel")是一种基于XML的声明式语言,它提供了一种简易的方式可以不用编写代码就可以完成您的
UI设计。
可访问模板可访问模板
您可以访问Microsoft Expression Blend获取模板,选择C1DockControl并在对象对象菜单中选择编辑模板编辑模板,通过选择编辑拷编辑拷贝贝来创建当前模板可编辑的一个拷贝,或者选择创建一个新的空白模板。

注意:注意:如果您通过菜单方式创建了一个新的模板,模板将会自动的连接模板的属性,但如果您用XAML手动创建了一个模板,您就必须为您创建的模板提供适宜的模板属性。


注意您是通过模板属性来实现自定义模板。

C1DockControl主题

WPF版版DockControl包含几种不同的主题允许您自定义网格外观,当您首次添加了一个包
C1DockTabControlC1DockTabItemsC1DockControl控件时,它的呈现会与下图相类似:

这是控件的默认外观,您可以通过使用内置主题或者已创建的自定义主题来改变控件的外观,所有的内置主题都是基于WPF Toolkit 的主题,内置主题的描述和图示如下:

Theme Name

Theme Preview

 

 


C1ThemeBureauBlack

C1ThemeExpressionDark

C1ThemeExpressionLight

C1Blue

C1ThemeOffice2007Blue

 

 


C1ThemeOffice2007Black

C1ThemeOffice2007Silver

C1ThemeOffice2010Blue

C1ThemeOffice2010Black

C1ThemeOffice2010Silver

C1ThemeShinyBlue

 

 

C1ThemeWhistlerBlue


您需要通过使用Apply Theme方法来设置元素的主题,首先需要添加一个引用来完成您项目的主题配置,您可以采用下代码设置主题:

Visual Basic

Private Sub Window_Loaded(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
Dim theme As New C1ThemeExpressionDark
' Using ApplyTheme
C1Theme.ApplyTheme(LayoutRoot, theme)


C#

private void Window_Loaded(object sender, RoutedEventArgs e) {
C1ThemeExpressionDark theme = new C1ThemeExpressionDark();
//Using ApplyTheme
C1Theme.ApplyTheme(LayoutRoot, theme);
}


为了使主题应用于整个程序,您需要使用System.Windows.ResourceDictionary.MergedDictionaries属性,首先需要添加一个引用来完成您项目的主题配置,您可以用以下代码设置主题:

Visual Basic

Private Sub Window_Loaded(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
Dim theme As New C1ThemeExpressionDark
' Using Merged Dictionaries
Application.Current.Resources.MergedDictionaries.Add(C1Theme.GetCurrentThemeResources(theme))
End Sub


C#

private void Window_Loaded(object sender, RoutedEventArgs e) {
C1ThemeExpressionDark theme = new C1ThemeExpressionDark();
//Using Merged Dictionaries
Application.Current.Resources.MergedDictionaries.Add(C1Theme.GetCurrentThemeResources(theme));
}


注意此方法只有在第一次应用主题时有效,如果您想替换使用其他ComponentOne主题,需要将之前的主题从Application.Current.Resources.MergedDictionaries属性中移除。

  • 无标签