资源声明未解析到我的 WPF XAML 视图中
resource declaration not resolved into my WPF XAML View
一定是个傻子,但我不知道哪里出了问题...
我没有设法将我的转换器 class 正确地声明到我的 XAML WPF 视图中:
<controls:MetroWindow x:Class="AFF00018.View.ControlReport"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
Title="Report" Height="600" Width="850" WindowStartupLocation="CenterScreen" ShowSystemMenuOnRightClick="False"
BorderBrush="#6593CF" BorderThickness="2" AllowDrop="False" ResizeMode="NoResize"
xmlns:Converters ="clr-namespace:AFF00018.Tools.Converters"
>
<controls:MetroWindow.Resources>
<Converters:Tray_Converter x:Key="Tray_Converter" />
</controls:MetroWindow.Resources>
<Grid >
...
<DataGrid Grid.Row="1" ItemsSource="{Binding IncorrectInserts}" AutoGenerateColumns="False" Style="{x:Null}"
Margin="15" IsReadOnly="True" SelectionMode="Single" ColumnWidth="100" RowHeight="50" >
<DataGrid.Columns>
<DataGridTextColumn Width="0.1666*" Header="Réf."
Binding="{Binding Tray, Converter={StaticResource Tray_Converter}}" />
</DataGrid.Columns>
</DataGrid>
...
</Grid>
</controls:MetroWindow>
我的class肯定定义到这个NS中了:
namespace AFF00018.Tools.Converters
{
[ValueConversion(typeof(Tray), typeof(string))]
public class Tray_Converter : IValueConverter
{
...
}
}
编译器说:
Tray_Converter 不存在于命名空间 "clr-namespace:AFF00018.Tools.Converters" 中
由于这个错误,它停止显示显示器。
它还在运行。转换器的 Convert 方法实际上被命中了。
但是它的值参数总是空的,虽然在数据库中不是这样。
我错过了什么?
改变
xmlns:Converters ="clr-namespace:AFF00018.Tools.Converters"
到
xmlns:Converters="using:AFF00018.Tools.Converters"
你应该很好。我确实注意到 Converters
和 =
之间有 space 但可能只是错字
一定是个傻子,但我不知道哪里出了问题...
我没有设法将我的转换器 class 正确地声明到我的 XAML WPF 视图中:
<controls:MetroWindow x:Class="AFF00018.View.ControlReport"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
Title="Report" Height="600" Width="850" WindowStartupLocation="CenterScreen" ShowSystemMenuOnRightClick="False"
BorderBrush="#6593CF" BorderThickness="2" AllowDrop="False" ResizeMode="NoResize"
xmlns:Converters ="clr-namespace:AFF00018.Tools.Converters"
>
<controls:MetroWindow.Resources>
<Converters:Tray_Converter x:Key="Tray_Converter" />
</controls:MetroWindow.Resources>
<Grid >
...
<DataGrid Grid.Row="1" ItemsSource="{Binding IncorrectInserts}" AutoGenerateColumns="False" Style="{x:Null}"
Margin="15" IsReadOnly="True" SelectionMode="Single" ColumnWidth="100" RowHeight="50" >
<DataGrid.Columns>
<DataGridTextColumn Width="0.1666*" Header="Réf."
Binding="{Binding Tray, Converter={StaticResource Tray_Converter}}" />
</DataGrid.Columns>
</DataGrid>
...
</Grid>
</controls:MetroWindow>
我的class肯定定义到这个NS中了:
namespace AFF00018.Tools.Converters
{
[ValueConversion(typeof(Tray), typeof(string))]
public class Tray_Converter : IValueConverter
{
...
}
}
编译器说: Tray_Converter 不存在于命名空间 "clr-namespace:AFF00018.Tools.Converters" 中 由于这个错误,它停止显示显示器。
它还在运行。转换器的 Convert 方法实际上被命中了。 但是它的值参数总是空的,虽然在数据库中不是这样。
我错过了什么?
改变
xmlns:Converters ="clr-namespace:AFF00018.Tools.Converters"
到
xmlns:Converters="using:AFF00018.Tools.Converters"
你应该很好。我确实注意到 Converters
和 =
之间有 space 但可能只是错字