SORU
26 AĞUSTOS 2009, ÇARŞAMBA


Nasıl WPF kullanıcı denetimi ithal ve yerli kaynakları birleştirmek için

Ortak ve bireysel kaynaklar, ikimizin de ihtiyacı olan WPF kullanıcı denetimleri birkaç yazıyorum.

Ayrı bir kaynak dosyası yükleme kaynaklarını sözdizimi anladım:

<UserControl.Resources>
    <ResourceDictionary Source="ViewResources.xaml" />
</UserControl.Resources>

Bunu yaparken, ancak, aynı zamanda kaynakları, gibi yerel olarak Ekle edemem:

<UserControl.Resources>
    <ResourceDictionary Source="ViewResources.xaml" />
    <!-- Doesn't work: -->
    <ControlTemplate x:Key="validationTemplate">
        ...
    </ControlTemplate>
    <style x:key="textBoxWithError" TargetType="{x:Type TextBox}">
        ...
    </style>
    ...
</UserControl.Resources>

ResourceDictionary bir göz geçirdim.MergedDictionaries, ama bu sadece beni daha fazla dış sözlük birleştirme, daha fazla kaynakları yerel olarak tanımlamak sağlar.

Önemsiz bir şey eksik olmalı?

Belirtilmelidir: Win bir projede benim kullanıcı denetimleri, Uygulama paylaşılan kaynaklar koyarak ev sahipliği yapıyorum.xaml gerçekten bir seçenek değil.

CEVAP
26 AĞUSTOS 2009, ÇARŞAMBA


Anladım. Çözüm MergedDictionaries içerir, ancak ayrıntılarda doğru, böyle olmalı:

<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="ViewResources.xaml" />
        </ResourceDictionary.MergedDictionaries>
        <!-- This works: -->
        <ControlTemplate x:Key="validationTemplate">
            ...
        </ControlTemplate>
        <style x:key="textBoxWithError" TargetType="{x:Type TextBox}">
            ...
        </style>
        ...
    </ResourceDictionary>
</UserControl.Resources>

Bu, yerel kaynakları iç içe olması gerekiriçindeResourceDictionary etiketi. Örnek here yanlıştır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dom Esposito

    Dom Esposito

    26 Mayıs 2011
  • Good Creative Academy

    Good Creativ

    19 Kasım 2009
  • Slave Boy Films - Fandom from a Galaxy Far Far Away

    Slave Boy Fi

    12 HAZİRAN 2009