2012-10-23 83 views
0

我的WPF應用程序已經開始在設計器視圖中爲窗口拋出此錯誤。它編譯和運行沒有問題,但不會加載到設計器中。未找到StaticResource引用「設置」

但是,最奇怪的部分是它只發生在對設置的第一次引用上。在下面的代碼中,如果我註釋掉第一個<Setter>,則錯誤會轉移到下一個。如果我然後取消第一個<Setter>的註釋,則錯誤會回到它。

<Style TargetType="{x:Type ComboBox}"> 
     <Setter Property="FontSize" Value="{Binding Source={StaticResource Settings}, Path=Default.setFontSize}" /> 
    </Style> 
    <Style TargetType="{x:Type TextBox}"> 
     <Setter Property="FontSize" Value="{Binding Source={StaticResource Settings}, Path=Default.setFontSize}" /> 
    </Style> 
    <Style TargetType="{x:Type Label}"> 
     <Setter Property="Foreground" Value="{Binding Source={StaticResource Settings}, Path=Default.setFontColor}" /> 
    </Style> 

任何想法?

+1

維持在業務規模XAML視圖蘋果酒顯示器本身的工作。使用Expression Blend或忘記設計師。 –

+0

Expression Blend不適用於我的工作環境。 –

回答

0

嗯 - 這是非常奇怪的..在你的Xaml文件中,你看到有設置鍵的任何元素?

也許有些東西在運行時將它注入到資源字典中,這就是爲什麼它構建並運行良好。

+0

沒有其他元素正在使用Xaml內的應用程序設置。它在代碼隱藏中使用,但不在Xaml中使用。 –

+0

任何機會,你可以創建一個苗條的項目,重新創建這個和生病有一個遊戲? – Steoates

+0

如果您創建一個新的WPF項目,將上面貼出的代碼粘貼到標籤中並構建它,則會發生問題。 –

1

我剛剛遇到同樣的問題。以下是我在App.xaml中爲應用程序全局解決問題的方法。注意xmlns:屬性和屬性:設置行。

<Application x:Class="MyApp.App" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:properties="clr-namespace:MyApp.Properties" 
     StartupUri="MainWindow.xaml"> 
<Application.Resources> 
    <properties:Settings x:Key="Settings" /> 
</Application.Resources>