无法解析数据类型 MyApp.Model.Paper
Cannot resolve DataType MyApp.Model.Paper
我正在尝试将 class 绑定到模板。
<UserControl
x:Class="MyApp.Controls.PaperSelectControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:MyApp.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300"
d:DesignWidth="400">
<Grid>
<ScrollViewer>
<GridView x:Name="paperGrid"
ItemsSource="{x:Bind Papers}"
Width="400" Height="300" >
<GridView.ItemTemplate >
<DataTemplate x:DataType="MyApp.Model.Paper" >
<TextBlock Text="{x:Bind Color}"/>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</ScrollViewer>
</Grid>
</UserControl>
MyApp.Model.Paper
是 class 命名空间。
namespace MyApp.Model {
public class Paper {
public string Name { get; set; }
public string Color { get; set; }
public string Thumb { get; set; }
}
}
但我总是得到
Cannot resolve DataType MyApp.Model.Paper
错误
希望有人能帮我解决这个问题。谢谢。
据我所知,我们无法通过 namespace.class
格式设置 x:DataType
标记。为了访问你自己的自定义类型,你可以映射一个 XAML 命名空间,这个映射是通过定义一个 xmlns
前缀来实现的。例如,xmlns:myTypes
定义了一个新的 XAML 命名空间,通过在所有用法前面加上令牌 myTypes:
.
来访问该命名空间
因此,请将此映射 xmlns:model="using:MyApp.Model"
添加到您的 header 标记列表中。并更新了 x:DataType
的 XAML 代码,如下所示:<DataTemplate x:DataType="model:Paper" >
,然后构建您的项目,它将运行。
更多详情请参考Mapping custom types to XAML namespaces and prefixes。
我正在尝试将 class 绑定到模板。
<UserControl
x:Class="MyApp.Controls.PaperSelectControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:MyApp.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300"
d:DesignWidth="400">
<Grid>
<ScrollViewer>
<GridView x:Name="paperGrid"
ItemsSource="{x:Bind Papers}"
Width="400" Height="300" >
<GridView.ItemTemplate >
<DataTemplate x:DataType="MyApp.Model.Paper" >
<TextBlock Text="{x:Bind Color}"/>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</ScrollViewer>
</Grid>
</UserControl>
MyApp.Model.Paper
是 class 命名空间。
namespace MyApp.Model {
public class Paper {
public string Name { get; set; }
public string Color { get; set; }
public string Thumb { get; set; }
}
}
但我总是得到
Cannot resolve DataType MyApp.Model.Paper
错误
希望有人能帮我解决这个问题。谢谢。
据我所知,我们无法通过 namespace.class
格式设置 x:DataType
标记。为了访问你自己的自定义类型,你可以映射一个 XAML 命名空间,这个映射是通过定义一个 xmlns
前缀来实现的。例如,xmlns:myTypes
定义了一个新的 XAML 命名空间,通过在所有用法前面加上令牌 myTypes:
.
因此,请将此映射 xmlns:model="using:MyApp.Model"
添加到您的 header 标记列表中。并更新了 x:DataType
的 XAML 代码,如下所示:<DataTemplate x:DataType="model:Paper" >
,然后构建您的项目,它将运行。
更多详情请参考Mapping custom types to XAML namespaces and prefixes。