DataTemplate中的自定义DataType会破坏WPF设计器

时间:2010-04-18 10:51:58

标签: wpf visual-studio-2008 datatemplate

为什么DataTemplate行会破坏Visual Studio 2008中的WPF设计器?

程序编译并正常运行。 DataTemplate应用它。但是整个DataTemplate代码块用红色加下划线,当我简单地“构建”程序而不运行时,我得到错误“类型引用无法找到名为'Character'的公共类型”

为什么在设计师中找不到它,程序是否正确应用模板?

<UserControl x:Class="WPF_Tests.Tests.TwoCollecViews.TwoViews"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:DetailsPane="clr-namespace:WPF_Tests.Tests.DetailsPane" 
    >
   <UserControl.Resources>

      <DataTemplate DataType="{x:Type DetailsPane:Character}">
         <StackPanel Orientation="Horizontal">
            <TextBlock Text="{Binding Path=Name}"></TextBlock>
         </StackPanel>
      </DataTemplate>

   </UserControl.Resources>

   <Grid>
      <ListBox ItemsSource="{Binding Path=Characters}"  />
   </Grid>
</UserControl>

编辑:我被告知这可能是Visual Studio 2008中的一个错误,因为它在2010年正常运行。您可以在此处下载代码:http://www.mediafire.com/?z1myytvwm4n - Test / TwoCollec xaml文件的设计者将打破这段代码。

1 个答案:

答案 0 :(得分:2)

是的,这是Visual Studio 2008中的一个错误。您可以通过更改程序集名称(右键单击Project“WPF Tests”/ Properties)从“WPF Tests”更改为“WPF_Tests”来解决此问题。我尝试了你的项目,它似乎工作(重启Visual Studio后)。

(此解决方法的信用额转到:http://social.msdn.microsoft.com/forums/en-US/wpf/thread/21d72064-354c-432e-8227-ba4e21f4089f