2011-05-27 417 views
24

我定義我的設置和樣式在ResourceDictionary中:錯誤:'無法創建未知類型'{clr-namespace:NameSpace.Properties}設置'。'

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        xmlns:properties="clr-namespace:Kavand.UI.Properties"> 
    <ResourceDictionary.MergedDictionaries> 
     <ResourceDictionary> 
      <properties:Settings x:Key="settings" /> 
     </ResourceDictionary> 
    </ResourceDictionary.MergedDictionaries> 
    <Style x:Key="PopupMenu_StackPanel"> 
     <Setter Property="TextBlock.FontSize" Value="{Binding Source={StaticResource settings}, Path=Default.Font_Menu_Size}" /> 
     <Setter Property="TextBlock.FontFamily" Value="{Binding Source={StaticResource settings}, Path=Default.Font_Menu_Family}" /> 
     <Setter Property="TextBlock.FontWeight" Value="{Binding Source={StaticResource settings}, Path=Default.Font_Menu_Weight}" /> 
     <Style.Resources> 
      <Style TargetType="{x:Type MenuItem}" BasedOn="{StaticResource KavandMenuItem}"> 
       <Style.Triggers> 
        <Trigger Property="IsChecked" Value="true"> 
         <Setter Property="IsEnabled" Value="false" /> 
        </Trigger> 
        <MultiTrigger> 
         <MultiTrigger.Conditions> 
          <Condition Property="IsChecked" Value="True" /> 
          <Condition Property="IsHighlighted" Value="True" /> 
         </MultiTrigger.Conditions> 
         <Setter Property="Foreground" Value="{DynamicResource K_Brush_Gray}" /> 
        </MultiTrigger> 
       </Style.Triggers> 
      </Style> 
     </Style.Resources> 
    </Style> 
</ResourceDictionary> 

當我運行我的應用程序,我得到的錯誤:

'Cannot create unknown type '{clr-namespace:Kavand.UI.Properties}Settings'.' Line number '6' and line position '14'.

+0

它是編譯錯誤還是運行時錯誤?刪除前三個setters是否允許應用程序運行? – Adrian 2011-05-27 19:36:37

+2

這是一個運行時錯誤,不,當我刪除包含定義的部分時,應用程序將被編譯 – 2011-05-27 19:37:54

回答

42

我已經設置文件的「生成操作」屬性設置爲「資源」。當我將其更改爲「頁面」時,問題得到解決。

33

保持你的 「生成操作」 屬性設置爲 「資源」,只是改變這一行: 的xmlns:性能= 「CLR的命名空間:Kavand.UI.Properties」 本: 的xmlns:性能=」 clr-namespace:Kavand.UI.Properties; assembly = Kavand.UI「

+1

這是正確的答案,謝謝! – 2016-03-24 06:50:47

相關問題