我想從WPF自定義控件庫 實際上從其他文件加載WPF樣式,但我無法加載在這裏是我的解決方案。從資源文件加載WPF樣式
該溶液包含兩個項目
WpfTestControls類型WPF定製控件庫
WpfTestApp類型的WPF應用程序圖書館,其具有參考WpfTestControls
MainWindow.xaml來自WPF應用程序庫
<Window.Resources>
<Style x:Key="TempStyle" TargetType="{x:Type TextBox}">
<Setter Property="BorderBrush" Value="Green"/>
</Style>
</Window.Resources>
<Grid>
<TextBox Height="50px" Width="100px" Style="{DynamicResource TempStyle}"/>
</Grid>
Generic.xaml從WPF自定義控件庫
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/WpfTestControls;component/TextBoxStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
TextBoxStyle.xaml從WPF自定義控件庫
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style x:Key="TempStyle" TargetType="{x:Type TextBox}">
<Setter Property="BorderBrush" Value="Green"/>
</Style>
我的AssemblyInfo.cs文件包含以下
[assembly: ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries))]
但我仍無法加載樣式。 如果我使用的是不使用Generic.xaml一切做工精細,例如下面的代碼按預期工作
<Window x:Class="WpfTestApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<Style x:Key="TempStyle" TargetType="{x:Type TextBox}">
<Setter Property="BorderBrush" Value="Green"/>
</Style>
</Window.Resources>
<Grid>
<TextBox Height="50px" Width="100px" Style="{StaticResource TempStyle}"/>
</Grid>
我到底做錯了什麼? 在此先感謝
嗨也許我寫錯了,但解決方案只包含兩個項目類型WPF自定義控件庫WpfTestControls和類型Wpf應用程序的WpfTestApp具有引用兩個WpfTestControls。 – Robob
正確,所以看到我上面的編輯... –
你是對的,但據我瞭解,它應該與以前的解決方案。這是我現在要採用的解決方法 – Robob