NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: ResourceDictionary a MergedDictionaries

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
jan.pichl
Člen
Avatar
jan.pichl:13.3.2016 8:50

Ahoj,

chci v jednom projektu sloučit použité zdroje do jednoho dictionary tak abych si je mohl použít v druhém projektu.

Nedaří se mi sloučit zdroje do jednoho slovníku. Řešení které jsem okoukal u mě končí chybou a já nevím proč. Je možné že to způsobuje BasedOn v StyleMasterButton ?

Pokud bude někdo vědět budu vděčný za radu.

Při tomto použití to funguje:
App.xaml

<Application.Resources>
        <ResourceDictionary>
            <Style TargetType="Label">
                <Setter  Property="FontFamily"
                         Value="Arial" />
                <Setter  Property="FontFamily"
                         Value="Arial" />
            </Style>

            <Convertors:ConverterFontSize x:Key="converterFontSize" />
            <Convertors:ConverterBoolToVisibility x:Key="converterBoolToVisibility" />
            <Convertors:ConverterHalfPosition x:Key="converterHalfPosition" />
            <Convertors:ConverterSizeElement x:Key="converterSizeElement" />
            <Convertors:ConverterInvertBoolean  x:Key="converterInvertBoolean" />
            <Convertors:ConverterStringEmptyConverter x:Key="converterStringEmptyConverter" />

            <ResourceDictionary.MergedDictionaries>

                 <ResourceDictionary Source="/Styles/StyleColors.xaml" />
        <ResourceDictionary Source="/Styles/StyleBasic.xaml" />

        <ResourceDictionary Source="/Styles/StyleMasterButton.xaml" />

        <ResourceDictionary Source="/Styles/StyleSetingButton.xaml" />
        <ResourceDictionary Source="/Styles/StyleNumberButton.xaml" />

        <ResourceDictionary Source="/Styles/StyleWrapedButton.xaml" />

        <ResourceDictionary Source="/Styles/StyleTabLine.xaml" />

            </ResourceDictionary.MergedDictionaries>

            <!--<Style TargetType="{x:Type Rectangle}" />-->

        </ResourceDictionary>

Pokud přesunu přesunu zdroje do extra slovniku a ten připojím tak to fungovat přestane: s chybou

{"Cannot find resource named 'StyleMasterBut­ton'. Resource names are case sensitive."}

přitom StyleMasterButton je zařazen před StyleWrapedButton

App.xaml

<Application.Resources>

    <ResourceDictionary>

        <Style TargetType="Label">
            <Setter  Property="FontFamily"
                     Value="Arial" />
            <Setter  Property="FontFamily"
                     Value="Arial" />

        </Style>

        <Convertors:ConverterFontSize x:Key="converterFontSize" />

        <Convertors:ConverterBoolToVisibility x:Key="converterBoolToVisibility" />

        <Convertors:ConverterHalfPosition x:Key="converterHalfPosition" />

        <Convertors:ConverterSizeElement x:Key="converterSizeElement" />

        <Convertors:ConverterInvertBoolean  x:Key="converterInvertBoolean" />

        <Convertors:ConverterStringEmptyConverter  x:Key="converterStringEmptyConverter" />

        <ResourceDictionary.MergedDictionaries>

            <ResourceDictionary Source="/Styles/AppDictionary.xaml" />

        </ResourceDictionary.MergedDictionaries>

        <!--<Style TargetType="{x:Type Rectangle}" />-->

    </ResourceDictionary>

</Application.Resources>

AppDictionary.xaml

<ResourceDictionary.MergedDictionaries>

        <ResourceDictionary Source="/Styles/StyleColors.xaml" />
        <ResourceDictionary Source="/Styles/StyleBasic.xaml" />

        <ResourceDictionary Source="/Styles/StyleMasterButton.xaml" />

        <ResourceDictionary Source="/Styles/StyleSetingButton.xaml" />
        <ResourceDictionary Source="/Styles/StyleNumberButton.xaml" />

        <ResourceDictionary Source="/Styles/StyleWrapedButton.xaml" />

        <ResourceDictionary Source="/Styles/StyleTabLine.xaml" />

    </ResourceDictionary.MergedDictionaries>

StyleWrapedBut­ton.xaml

<Style x:Key="StyleWrapedButton"
         TargetType="{x:Type ButtonBase}"
         BasedOn="{StaticResource StyleMasterButton}">

StyleMasterBut­ton.xaml

<Style x:Key="StyleMasterButton"
          TargetType="{x:Type ButtonBase}">
 
Odpovědět
13.3.2016 8:50
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.