2009-11-15 36 views
21

Bu bir sır değil: WPF'ler zayıfken Silverlight'ın DataGrid varsayılan stili güzel.WPF DataGrid stili-Silverlight DataGrid?

Tekerleği yeniden icat etmek yerine, herhangi biri SL stillerini WPF'de kullanmak üzere kopyaladıysa topluluğa sormama izin verin.

Lütfen ekran görüntülerine bir göz atın ve Silverlight ve WPF ekiplerinin ürünlerine nasıl yatırım yaptıkları konusunda kendiniz karar verin.

Silverlight varsayılan stili DataGrid: (Saied K'nın cevap sonra güncellenir)

Silverlight DataGrid

WPF varsayılan stili DataGrid:
WPF DataGrid

cevap

7

Ben çalışan bir Silverlight tarzı DataGrid ile herhangi bir proje bulamadık, bu yüzden Codeplex bir tane yarattı:

http://datagridthemesfromsl.codeplex.com

tüm temaları var, ama en azından orada yapmaz orada birkaç var.

+2

+1 çok teşekkürler! Kodplex sayfanızda mevcut bir veri ızgarasıyla nasıl kullanılacağını detaylandırır mısınız? – gideon

+1

@gideon - [şimdi kullanılabilir] [http://datagridthemesfromsl.codeplex.com/wikipage?title=How-To%3a%20use%20this%20themes%20library%20with%20your%20DataGrid&version=1] bağlantısı. – SliverNinja

6

dışı-kutusu stili yoktur görünüyor.
Microsoft önerileri sitesine bir öneri gönderdim, lütfen here ve here numaralı oyları kullanın !!!

Silverlight DataGrid varsayılan stilini WPF'ye taklit eden herkes, lütfen yanıtını yazmalı ve yanıt olarak işaretleyip ona oy vereceğim!

Çok teşekkürler!

+0

Oy verdim ve bir snarky yorumu ekledim :) – devuxer

+0

Bunu gördüm, teşekkürler, tembel çalışanların bir başkasının göreceğini umuyorum. – Shimmy

+1

Yeni bir tane açtım, bir bağlantıyı kapattıklarında, daha fazla yorum için uyarı alınmadığını düşünüyorum, lütfen https://connect.microsoft.com/WPF/feedback/ViewFeedback.aspx?FeedbackID=525883 sayfasına bakın. Bunun için – Shimmy

1

WPF, Luna, Aero, Classic, vb. Gibi çeşitli stillerde gönderilir. Bu temalar sistem ayarlarınıza göre uygulanır. Önceki yazının ekran görüntüsü WPF Classic temasına benziyor, ama sanırım daha çekici bir tema arıyorsun.

İşletim sisteminizde Klasik bir sistem teması kullanıyorsanız, ancak WPF uygulamanızın örneğin Aero temasını kullanmasını istiyorsanız, uygulamanıza birleştirilmiş bir sözlük ekleyebilir ve Aero temasını aşağıda gösterildiği gibi zorlayabilirsiniz. Lütfen ikili versiyonu ve genel anahtarı uygun şekilde değiştirmeniz gerekebilir. yardımcı olur

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

Umut, Saied K.

Ben de bağlantı sitesi hataların her ikisi için oy
+1

Fotoğrafımı güncelledim, yeni fotoğrafta, Windows 7 Aero temalı bir ortamda DataGrid'in varsayılan stilini görebiliyorsunuz, bunu pencere çerçevesi üzerinde açıkça görebiliyorsunuz. Tüm saygımla, gerçekten benim sorumu anlamadın. – Shimmy

0

, bu gerçekten varsayılan olarak düzgün sistem tema takip etmeli! Ancak, bu süre zarfında, Malav Dhalgara tarafından yararlı bir gönderi buldum. Bu, Aero temasının WPFToolkit'teki denetimler için etkinleştirilebilmesi için aşağıdaki örneği içerir. Bu sorunun Shimmy'nin bu örnekte .NET 4.0'daki DataGrid'den gelmediği varsayımından yola çıkarak, yanlış olabilirdim ve belki de beta ya da RC'lerden biriydi. Her neyse, WPFToolkit kullanan kişiler için bir örnek geçici çözüm.

 <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> 
+0

Elbette, 4.0 uzun süre önce güncelledik, ancak .NET 4 WPF stilinde herhangi bir geliştirici yapmadı. – Shimmy

+0

Güncelleme için teşekkürler, çok kötü olsa da iyileşmedi. – jpierson

8

MSDN içinde derin gömülü, this bulundu.Makalenin altına doğru

, bu cümleyi göreceksiniz: ControlTemplates Numune

ile Styling kısmını gösterir aşağıdaki şekilde bakmak Örneğin

Eğer 'tıklarsanız ControlTemplates Örnek ile şekillendirme ', sizi download link'a götürecektir. İndirme işleminden sonra, projeyi derleyebilir ve zor datagrid stili de dahil olmak üzere her türlü stile sahip olabilirsiniz! MS'in DataGrid.xaml dosyasını alabilir ve ihtiyaçlarınız için değiştirebilirsiniz.

+0

+1 WPF için tüm temel denetim şablonlarını içeren [WPF SimpleStyles] (http://msdn.microsoft.com/en-us/library/ms771597%28v=VS.90%29.aspx) projesini mi arıyorsunuz? . Yardım için teşekkürler! – SliverNinja

+0

@Matt, [this] (http://msdn.microsoft.com/en-us/library/ms745683.aspx#styling_themes) temasını test ettiniz mi ve 'DataGrid' kontrolünü de etkiliyor mu? – Shimmy

+2

Lütfen [burada] (http://goo.gl/QDYxY) ve [burada] (http://goo.gl/S8ekJ) oylayın ve kaba yorumları bırakın! – Shimmy