我在用户控件中有一个视图模板,如下所示
<UserControl
x:Class="Configuration.Views.viewProfileTemplate"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid Background="Azure" Width="233">
<StackPanel Height="300" HorizontalAlignment="Left" Name="stackPanel1" VerticalAlignment="Top" Width="230">
<TextBox Text="{Binding Path=SomeProfileText}" Margin="10" />
<ListBox ItemsSource="{Binding Path=Profiles}" Height="70" Margin="10"/>
<CheckBox Content="CheckBox" Height="16" Name="checkBox1" Width="175" />
</StackPanel>
</Grid>
</UserControl>
用户控件在main.xaml窗口中定义如下
<Window x:Class="Configuration.TreeUI"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:views="clr-namespace:Configuration.Views"
xmlns:local="clr-namespace:Configuration"
Title="TreeUI" Height="300" Width="450" WindowStyle="ToolWindow">
我尝试将模板与
一起使用<DataTemplate DataType="{x:Type local:ProfileViewModel}">
<Views:viewProfileTemplate/>
</DataTemplate>
但编译报告:
错误1找不到类型“Views:viewProfileTemplate”。验证您是否缺少程序集引用,并且已构建所有引用的程序集。
我再次错过了重要的一点,但是什么?
要欠一个人喝一大杯.....
答案 0 :(得分:0)
有两个可能的原因:
1)如果数据模板与viewProfileTemplate
的程序集不同,则需要让xaml反映这一点:
xmlns:views="clr-namespace:Configuration.Views;assembly=ViewAssembly"
请注意,这还需要将正确的引用添加到项目中才能正常运行。
2)如果这是设计时错误,请确保首先构建解决方案。 VS中的WPF设计器通常会报告有关缺失类型的错误,直到您构建一次,然后它“正常”工作。