毫不秘密:Silverlight的 DataGrid
默认样式很漂亮,而WPF的则较为简陋。
与其重复造轮子,让我向社区询问是否有人复制了SL样式以在WPF中使用。
请查看截图并自行评判Silverlight和WPF团队在其产品上的投资。
Silverlight默认样式DataGrid:
WPF默认样式DataGrid(在Saied K回答后更新):
毫不秘密:Silverlight的 DataGrid
默认样式很漂亮,而WPF的则较为简陋。
与其重复造轮子,让我向社区询问是否有人复制了SL样式以在WPF中使用。
请查看截图并自行评判Silverlight和WPF团队在其产品上的投资。
Silverlight默认样式DataGrid:
WPF默认样式DataGrid(在Saied K回答后更新):
我没有找到任何带有可工作的Silverlight风格 DataGrid
的项目,因此我在Codeplex上创建了一个:
http://datagridthemesfromsl.codeplex.com
虽然不是所有主题都有,但至少有一些。
GridLinesVisibility="None"
关闭网格线。虽然它仍然不如 Silverlight 版本那么漂亮,但那些黑色的网格线实在太丑了。 - devuxer<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary
Source="/PresentationFramework.Aero;V4.0.0.0;31bf3856ad364e35;component\themes/aero.normalcolor.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
我也投票支持连接站点的两个错误,这确实应该默认按照系统主题进行处理!
但在此期间,我在 Malav Dhalgara 的有用帖子中找到了以下示例,可用于启用 WPFToolkit 中控件的 Aero 主题。假设从日期推断出,Shimmy 发布了这个问题,这个示例并不是来自 .NET 4.0 中的 DataGrid,但我可能错了,也许它是来自其中一个 Beta 或 RC 的版本。无论如何,这里有一个解决方案供那些使用 WPFToolkit 的人参考。
<ResourceDictionary >
<ResourceDictionary.MergedDictionaries>
<!--Enable Aero Theme-->
<ResourceDictionary source="/PresentationFramework.Aero,Version=3.0.0.0,Culture=neutral,
PublicKeyToken=31bf3856ad364e35,ProcessorArchitecture=MSIL;
component/themes/aero.normalcolor.xaml" />
<ResourceDictionary xmlns:tk="clr-namespace:Microsoft.Windows.Controls;assembly=WpfToolkit"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<!--Enable aero theme on toolkit components-->
<sys:String x:Key="{ComponentResourceKey
TypeInTargetAssembly={x:Type tk:Calendar},ResourceId=Theme}">
Aero.NormalColor</sys:String>
<sys:String x:Key="{ComponentResourceKey
TypeInTargetAssembly={x:Type tk:DataGrid},ResourceId=Theme}">
Aero.NormalColor</sys:String>
<sys:String x:Key="{ComponentResourceKey
TypeInTargetAssembly={x:Type tk:DatePicker},ResourceId=Theme}">
Aero.NormalColor</sys:String>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>