1

現在の Windows フォーム アプリケーションに WPF を適合させようとしています。この単純なユーザー コントロールを使用すると、そのコントロールのデザイナーが再読み込みされません。

これは、このアプリケーションでのみ発生します。クリーンな Windows フォーム プロジェクトを作成し、これらのファイルを追加すると、デザイナーは正常に動作します。

Visual Studio のリロードと、アプリケーションのクリーニング/再構築を試みました。

何か案は?(これらは ListBox 内のアイテム用であるため、x:Key はオプションではありません。)

PS コード リストの末尾の空白行をすべて削除するにはどうすればよいですか?

詳細:

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();
        }
    }
}
4

1 に答える 1

2

アセンブリ名にスペースが含まれていることが原因でした。

于 2009-05-19T18:41:22.923 に答える