一个应用程序资源:
<Application x:Class="WPF2.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
<SolidColorBrush x:Key="aaaa" Color="Red"/>
</Application.Resources>
</Application>
一个自定义控件,在控件模板中引用上面那个资源:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WPF2">
<Style TargetType="{x:Type local:CustomControl2}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:CustomControl2}">
<Border Background="{StaticResource aaaa}">
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
主窗体:
<Window x:Class="WPF2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WPF2"
Title="MainWindow" Height="350" Width="525">
<Grid Background="{StaticResource aaaa}">
<local:CustomControl2/><!--报错-->
</Grid>
</Window>
结果为什么要报错呢:无法找到名为“aaaa”的资源。资源名称区分大小写。
哪位大侠能知道是什么原因呢?
------解决思路----------------------
名字有重复的?
------解决思路----------------------
StaticResource?静态资源只能定义在本地同一个xml里面,你这个不知道是什么定义法
------解决思路----------------------
去掉报错的那一行试试,排除一下
------解决思路----------------------
把aaaa放到你实际引用的这一层级xaml,而不要放在application里
------解决思路----------------------
是哪块报错,报错的信息是什么?用户空间报错还是主窗体报错?
------解决思路----------------------
<Window x:Class="WPF2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WPF2"
Title="MainWindow" Height="350" Width="525">
<Grid >
<local:CustomControl2/><!--报错-->
</Grid>
</Window>
这样还包不报错
------解决思路----------------------
把你的 <SolidColorBrush x:Key="aaaa" Color="Red"/> 也 定义到 ResourceDictionary 中,
在,
<Application.Resources>
<ResourceDictionary Source="资源名称.xaml"></ResourceDictionary>
</Application.Resources>
------解决思路----------------------
DynamicResource
------解决思路----------------------
个人认为这个解释是对的
------解决思路----------------------
我按照你的写法,做了实验,自定义控件那没有报错啊
------解决思路----------------------
在调试-异常里边把xamlparseexception关掉就行了,这个警告没啥意义。
------解决思路----------------------