NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.

Diskuze: ResourceDictionary a MergedDictionaries

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

Jak se ti líbí článek?
Před uložením hodnocení, popiš prosím autorovi, co je špatněZnaků 0 z 50-500
Jak se ti kurz líbí?
Tvé hodnocení kurzuZnaků 0 z 50-500
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.