无法找到带有xmlns前缀的StaticResource
本文关键字:xmlns 前缀 StaticResource | 更新日期: 2023-09-27 18:03:27
给定下面的"partial" xaml:
<UserControl x:Class="MyProject.Views.SelectTestView"
xmlns="http://schemas.microsoft.com etc... etc..."
xmlns:converters="clr-namespace:MyProject.Converters"
mc:Ignorable="d"
d:DesignHeight="566" d:DesignWidth="1160">
<GridViewColumn Header="Status" Width="auto">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding StatusTypeName}"
Foreground="{Binding StatusTypeName, Converter={StaticResource StatusTypeNameToBrushConverter}}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
我的转换器类"StatusTypeNameToBrushConverter.cs"是在我的"转换器"命名空间,我已经在上面声明。当我用我的xmlns别名前缀静态资源时,我仍然得到一个警告,
"资源"StatusTypeNameToBrushConverter" cannot be found".
我添加的前缀/解析静态资源的代码如下所示:
Foreground="{Binding StatusTypeName, Converter={StaticResource converters:StatusTypeNameToBrushConverter}}"/>
为什么这是错误的,我需要添加什么来限定位置,以便找到我的转换器?转换器代码旨在帮助转换由这个xaml.
组成的视图。谢谢。
你必须包括:
<UserColtrol.Resources>
<converters:StatusTypeNameToBrushConverter x:Key="statusTypeNameToBrushConverter"/>
</UserColtrol.Resources>
静态资源是这样的:
Foreground="{Binding StatusTypeName, Converter={StaticResource statusTypeNameToBrushConverter}}"/>
您正在引用StaticResource,但是您还没有定义任何。你可以这样做:
<UserControl x:Class="MyProject.Views.SelectTestView"
xmlns="http://schemas.microsoft.com etc... etc..."
xmlns:converters="clr-namespace:MyProject.Converters"
mc:Ignorable="d"
d:DesignHeight="566" d:DesignWidth="1160">
<UserControl.Resources>
<ResourceDictionary>
<converters:StatusTypeNameToBrushConverter x:Key="StatusTypeNameToBrushConverter" />
</ResourceDictionary>
</UserControl.Resources>
然后像第一次那样使用
Converter={StaticResource StatusTypeNameToBrushConverter}