一定是个傻瓜,但我无法弄清楚出了什么问题......
我无法将我的转换器类正确地声明为我的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>
我的课程明确定义为这个NS:
namespace AFF00018.Tools.Converters
{
[ValueConversion(typeof(Tray), typeof(string))]
public class Tray_Converter : IValueConverter
{
...
}
}
编译器说: 命名空间“clr-namespace:AFF00018.Tools.Converters”中不存在Tray_Converter 由于此错误,它停止显示显示器。
它仍在运行。转换器的Convert方法实际上受到了影响。 但是它的value参数始终为null,尽管在数据库中并非如此。
我错过了什么?
答案 0 :(得分:1)
更改
xmlns:Converters ="clr-namespace:AFF00018.Tools.Converters"
到
xmlns:Converters="using:AFF00018.Tools.Converters"
你应该好。我注意到Converters
和=
之间有空格,但可能只是一个拼写错误