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

  • 8lacKy

    8lacKy

    30 Mart 2009
  • AyfionGaming

    AyfionGaming

    20 ŞUBAT 2013
  • whiteboy7thst

    whiteboy7ths

    1 Temmuz 2009