SORU
10 Ocak 2009, CUMARTESİ


Varsayılan olarak nasıl uygulama Penceresinde Stil WPF.xaml?

Benim app WPF Windows uygulamam her pencere için varsayılan Stilini ayarlamak için çalışıyorum.xaml. Şimdiye kadar uygulama bu.xaml:

<Application.Resources>
    <ResourceDictionary>
        <Style x:Key="WindowStyle" TargetType="{x:Type Window}">
            <Setter Property="Background" Value="Blue" />
        </Style>
    </ResourceDictionary>
</Application.Resources>

Bu pencere, özel pencere üzerinden bu tarzı kullanmak anlatarak uygulaması (ama VS tasarımcı değil) çalışırken bu tarz görünmesini alabilirim:

Style="{DynamicResource WindowStyle}

Bu çalışır, ama ideal değil. Nasıl yaparım:

  1. Tüm pencereleri otomatik olarak stil her pencerede belirtmek zorunda kalmayayım () kullanmak zorunda?
  2. VS designer stil şovu var mı?

Teşekkürler!

CEVAP
20 Ocak 2009, Salı


Ray söylediklerine eklemek için:

Stilleri için, ya da Anahtar/ID arz ve TargetType belirtmek gerekir.

Eğer bir FrameworkElement bir var mı yoksa açıkça belirtilmiş Tarzı olacak her zaman Tarzı bir kaynak için bak anahtar olarak kendi türünü kullanarak< / ^ br . - WPF programlama (Satıyor, Griffith)

Eğer bir TargetType sağlarsanız, bu tür tüm örneklerini stili uygulanacaktır. Ancak türetilmiş bir tür gibi görünüyor.. <Style TargetType="{x:Type Window}"> tüm özel derivasyonlarında/windows çalışmaz. <Style TargetType="{x:Type local:MyWindow}"> sadece MyWindow için geçerli olacaktır. Seçenekleri vardır

  • Sen Stil özelliği olarak belirttiğiniz Anahtarlı bir Stil kullanınherpencere stili uygulamak istediğiniz. Tasarımcı tarz pencere gösterecektir.

.

    <Application.Resources>
        <Style x:Key="MyWindowStyle">
            <Setter Property="Control.Background" Value="PaleGreen"/>
            <Setter Property="Window.Title" Value="Styled Window"/>
        </Style>
    </Application.Resources> ...
    <Window x:Class="MyNS.MyWindow" Style="{StaticResource MyWindowStyleKey}">  ...
  • Ya da Decimal/Başlatma/Yük aşamasında Stil özelliğini bir kez ayarlayın burada bu özel BaseWindow sınıf its own quirks), kaynaklanıyor olabilir. Tüm Sözcükler otomatik olarak stili var.Ama tasarımcı tarzı bir fark olmayacakİhtiyacınız koş uygulamanıza bakın stili uygulanan.. sanırım tasarımcı sadece çalışır InitializeComponent (otomatik/designer tarafından üretilen kod) XAML uygulanır ama özel kod-arkasında.

Açıkça belirtilen en az işin olduğunu söyleyebilirim. Neyse Stil yönleri merkezi olarak değiştirebilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • We've moved!

    We've moved!

    7 Ocak 2008
  • The Brister

    The Brister

    10 ŞUBAT 2008
  • TheTwistedFrequency

    TheTwistedFr

    26 NİSAN 2010