在学习WPF的模板(DataTemplate、ItemsPanelTemplate、ControlTemplate)时,经常会想看看WPF内建的控件模板。在《
WPF 学习资源分享》的Debugging and Development Utilities中我列了一个工具
ShowMeTheTemplate,它可以查看5种主题的内建模板,通过在这些模板基础上修改建立自己的模板会比从头自己开始简单的多。运行界面如下:
附件:
2009120420324745.png 如何修改为查看第三方模板 在
reuxables提供了两个free的样式,其中一个是inc,我觉得还不错,
OpenExpressApp准备支持这个样式,界面如下:
附件:
2009120422032611.jpg 但是它并不提供xaml文件,所以不能进行修改。我们可以通过修改Show Me The Template代码,步骤如下:
1. 引用Incy.dll样式文件,修改App.xaml文件,添加资源:
- <Application
- x:Class="ShowMeTheTemplate.App"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- StartupUri="Window1.xaml"
- ShutdownMode="OnMainWindowClose">
- <Application.Resources>
- <ResourceDictionary Source="/Incy;component/IncOriginal.xaml" />
- </Application.Resources>
- </Application>
复制代码2. 注释Window1.xaml.cs中的两行代码:
- void themes_SelectionChanged(object sender, SelectionChangedEventArgs e) {
- ComboBox cb = (ComboBox)sender;
- Uri themeUri = new Uri((string)((ComboBoxItem)cb.SelectedItem).Tag, UriKind.Relative);
- // ResourceDictionary themeResources = (ResourceDictionary)Application.LoadComponent(themeUri);
- // templateItems.Resources = themeResources;
- }
复制代码3. 运行后切换左边列表就能看到对应的第三方模板了,下图为切换ListBoxItem的界面:
附件:
2009120422331081.jpg (文/
快乐学习)