2017-02-20 15 views
1

У меня есть словарь ресурсов - Стили \ StyleDic1, это имеет выпадающую в качестве одного из его ресурсовдоступ объявить ресурс в Словаре ресурсов ссылки в App.xaml

Я включил его в моем App.xaml файл, например так :

<Application 
    ... 
    ...> 
<Application.Resources> 
    ... 

    <ResourceDictionary Source="Styles\StyleDictionary1.xaml" x:Key="StyleDic1"/> 

</Application.Resources> 
</Application> 

у меня есть еще один файл TimeTC.xaml с AppBarButton и я хотел использовать плавающем ресурс на него, поэтому он попробовал этот

<AppBarButton Icon="Edit" Label="Edit" ... Flyout="{StaticResource ResourceKey=EditFlyout}"/> 

Но это не работает. Что я делаю не так?

UPDATE

Вот все содержимое App.xaml

<Application 
    x:Class="SabinusUWP.App" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="using:SabinusUWP" 
    RequestedTheme="Light"> 
    <Application.Resources> 
     <x:Int32 x:Key="TimeFormat">24</x:Int32> 
     <Color x:Key="grayish">#99CBCBCB</Color> 
     <Color x:Key="deepgray">#99AAAAAA</Color> 
     <Color x:Key="black">#FF000000</Color> 
     <Color x:Key="sleepblack">#FF414141</Color> 
     <Color x:Key="bluegray">#FFE3F3F2</Color> 
     <Color x:Key="transparent">#00E3F3F2</Color> 
     <Color x:Key="green">#CC2B9B2B</Color> 
     <Color x:Key="hoverGreen">#CC3BC53B</Color> 
     <SolidColorBrush x:Key="AppBarBtnFBrush" Color="{StaticResource black}"/> 
     <SolidColorBrush x:Key="AppBarBBrush" Color="{StaticResource grayish}"/> 
     <SolidColorBrush x:Key="FolderPressedBrush" Color="{StaticResource deepgray}"/> 
     <SolidColorBrush x:Key="GridBBrush" Color="{StaticResource transparent}"/> 
     <SolidColorBrush x:Key="TimeTHeadBtn" Color="{StaticResource transparent}"/> 
     <SolidColorBrush x:Key="TimeTBodyBtn" Color="{StaticResource green}"/> 
     <SolidColorBrush x:Key="TimeTBodyHoverBtn" Color="{StaticResource hoverGreen}"/> 
     <SolidColorBrush x:Name="TimeTBodySleepBtn" x:Key="TimeTBodySleepBtn" Color="{StaticResource sleepblack}"/> 
    <ResourceDictionary Source="Styles\StyleDictionary1.xaml" x:Key="StyleDic1"/> 

</Application.Resources> 

А вот StyleDictionary1.xaml

<ResourceDictionary 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="using:SabinusUWP.Styles"> 

    <!--Bottom Appbar EditFlyout --> 

    <Flyout x:Name="EditFlyout" x:Key="EditFlyout" 
      Placement="Bottom"> 
     <Grid Background="White" 
       Height="150" 
       Width="100" 
       CanDrag="True"> 
      <StackPanel Background="White" 
         x:Name="panel" 
         Orientation="Vertical" 
         Height="150" 
         Width="100"> 
       <Button Content="12 hour" 
         Click="_12hour" 
         Height="50" 
         Width="100" 
         Background="{StaticResource AppBarBBrush}" /> 
       <Button Content="24 hour" 
         Click="_24hour" 
         Height="50" 
         Width="100" 
         Background="{StaticResource AppBarBBrush}" /> 
      </StackPanel> 
     </Grid> 
    </Flyout> 
</ResourceDictionary> 
+0

Извините, если я не сдал данные правильно, второй file (TimeTC.xaml) - это не словарь ресурсов, его страница. –

+0

Не могли бы вы разместить * полное * содержимое элемента в файле App.xaml.cs, а также содержимое Styles \ StyleDic1.xaml? – mm8

ответ

0

проблема не может иметь ресурс словарь в словаре ресурсов, вам необходимо объединить их в один словарь

<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="View/Templates.xaml"/> 
      <ResourceDictionary Source="View/Images.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 

    </ResourceDictionary> 
</Application.Resources> 
0

Вы можете добавить слитый dictinory добавить N количество стилей к приложению

Пример кода:

<Application x:Class="WpfApplication2.App" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Startup="App_OnStartup" 
     StartupUri="MainWindow.xaml"> 
<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="Style.xaml"/> 
      <ResourceDictionary Source="Style1.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources>