0
我在解析外部程序集中的資源時遇到了一些問題。在運行時不能從外部程序集解析的默認樣式
我有一個項目叫做主題Styles.xaml文件,我有一個已被宣佈爲默認按鈕樣式如下:
<Style TargetType="{x:Type Button}" x:Key="{x:Type Button}">
<!--Setters here-->
</Style>
然後在一個單獨的WPF項目(但在同一個解決方案)我在App.xaml文件如下:
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary
Source="/Theme;component/Styles.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
然後在主窗口中,我宣佈一個默認的按鈕,沒有重視它,像這樣的風格:
<Button Width="100" Height="100" />
在設計視圖中,該按鈕顯示爲從Styles.xaml文件中選取樣式,但是當我構建並運行該項目時,Button只是默認爲標準按鈕樣式。
我檢查了Theme.dll文件已被複制到WPF構建目錄(它有),所以我不知道爲什麼會發生這種情況。
有趣的是,如果我定義的按鈕樣式像這樣
<Style TargetType="{x:Type Button}" x:Key="MyStyle">
然後直接引用它的按鈕中的其他項目像這樣
<Button Style={StaticResource MyStyle} Width="100" Height="100" />
它拿起在設計視圖樣式並在項目建立和執行時正常工作。
任何想法?任何幫助將是偉大的!
克里斯
這可能是我缺乏理解,但是如果我使用像這樣的packuri:pack:// siteoforigin:,,,/Theme; component/Styles.xaml我得到異常「檢查目錄是否存在於指定位置」。主題組件位於WPF應用程序的根目錄中,所以我不確定爲什麼這不起作用。感謝您的回覆! – lookitskris 2012-02-23 12:16:54
忽略以前的評論,得到它的工作。謝謝 – lookitskris 2012-02-23 12:31:39