我尝试将一些WPF放入我当前的Windows窗体应用程序中。当我使用这个简单的用户控件时,该控件的设计者不会重新加载。
这只发生在这个应用程序中。如果我制作一个干净的Windows窗体项目,添加这些文件,设计师工作正常。
我尝试重新加载Visual Studio,并清理/重建应用程序。
有什么想法吗? (这些是ListBox中的项目,因此x:Key不是一个选项。)
P.S。如何摆脱代码清单中的所有尾随空白行?
详情:
MyClasses.cs
namespace MyNamespace {
internal class MyClassInternal {}
public class MyClassPublic {}
}
MyUserControl.xaml
<UserControl x:Class="MyNamespace.MyUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyNamespace"
Height="300" Width="300">
<UserControl.Resources>
<DataTemplate DataType="{x:Type local:MyClassInternal}"/> <!--OK-->
<ObjectDataProvider x:Key="ClassPublicKey" ObjectType="{x:Type local:MyClassPublic}"/> <!--OK-->
<!-- Type reference cannot find public type named 'MyClassPublic' -->
<DataTemplate DataType="{x:Type local:MyClassPublic}"/> <!--FAILS-->
</UserControl.Resources>
<TextBlock>Hello World</TextBlock>
</UserControl>
MyUserControl.xaml.cs
using System.Windows.Controls;
namespace MyNamespace {
public partial class MyUserControl :UserControl {
public MyUserControl() {
InitializeComponent();
}
}
}
答案 0 :(得分:2)
这是因为在程序集名称中有一个空格。