Дизайнер отклонил DataTemplate.DataType - PullRequest
1 голос
/ 17 мая 2009

Я пытаюсь вставить какой-нибудь WPF в мое текущее приложение Windows Forms. Когда я использую этот простой пользовательский элемент управления, конструктор этого элемента управления не перезагружается.

Это происходит только в этом приложении. Если я создаю чистый проект Windows Forms, добавляю эти файлы, дизайнер работает нормально.

Я попытался перезагрузить 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();
        }
    }
}

1 Ответ

2 голосов
/ 19 мая 2009

Это вызвано наличием пробела в имени сборки.

...