1

我正在尝试将一些 WPF 安装到我当前的 Windows 窗体应用程序中。当我使用这个简单的用户控件时,该控件的设计器不会重新加载。

这只发生在此应用程序中。如果我创建一个干净的 Windows 窗体项目,添加这些文件,设计器工作正常。

我已经尝试重新加载 Visual Studio,并清理/重建应用程序。

有任何想法吗?(这些用于 ListBox 中的项目,因此 x:Key 不是一个选项。)

PS我如何摆脱代码清单中所有那些尾随的空白行?

细节:

我的类.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();
        }
    }
}
4

1 回答 1

2

这是由于程序集名称中有空格引起的。

于 2009-05-19T18:41:22.923 回答