首页>Program>source

这不是秘密:Silverlight的 DataGrid 默认样式是漂亮,而wPF则很差。

让我问社区是否有人复制了要在wPF中使用的SL样式,而不是重新发明轮子。

请查看屏幕截图,并自行判断Silverlight和wPF团队如何投资他们的产品。

Silverlight默认样式的DataGrid:

wPF默认样式的DataGrid(在Saied K回答后更新):

最新回答
  • 3天前
    1 #

    我还没有找到任何可以使用Silverlight风格的 DataGrid的项目 ,所以我在Codeplex上创建了一个:

    http://datagridthemesfromsl.codeplex.com

    没有所有主题,但是至少有几个主题。

  • 3天前
    2 #

    深入MSDN内,我发现了这一点。

    在本文的底部,您将看到以下短语:

    例如,看下面的插图,其中显示了使用ControlTemplates示例进行样式化的一部分

    如果单击"使用ControlTemplates示例进行样式设置",它将带您到下载链接.下载后,您可以编译该项目,它包括各种样式,包括难以捉摸的datagrid样式! 您可以获取MS的DataGrid.xaml文件并根据需要进行修改。

  • 3天前
    3 #

    似乎没有现成的样式。
    我在Microsoft建议网站上发布了建议,请在这里和这里投票!!!

    任何将Silverlight DataGrid默认样式模仿为wPF的人都应该发布答案,我将其标记为答案并给他投票!

    非常感谢!

  • 3天前
    4 #

    wPF附带了许多样式,例如Luna,Aero,Classic等。这些主题是根据您的系统设置应用的.上一篇文章的屏幕截图看起来像wPF Classic主题,但我猜您正在寻找一个更具吸引力的主题。

    如果您在操作系统上使用的是Classic系统主题,但是例如希望wPF应用程序使用Aero主题,则可以将合并的词典添加到您的应用中,并强制使用Aero主题,如下所示.请注意,您可能需要相应地更改二进制版本和公共密钥。

    <Application.Resources>
       <ResourceDictionary>
          <ResourceDictionary.MergedDictionaries>
             <ResourceDictionary
                 Source="/PresentationFramework.Aero;V4.0.0.0;31bf3856ad364e35;component\themes/aero.normalcolor.xaml"/>
          </ResourceDictionary.MergedDictionaries>
       </ResourceDictionary>
    </Application.Resources>
    

    希望有帮助, 赛义德·K。

  • 3天前
    5 #

    我也对两个连接站点的错误都投了赞成票,默认情况下,这确实应该正确遵循系统主题!

    但是,与此同时,我发现了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>
    

  • Clojure:从匿名函数返回向量
  • syntax:Haskell中句号或句号或点(。)是什么意思?