C# 如何将继承的控件添加到WPF中的datatemplate?

C# 如何将继承的控件添加到WPF中的datatemplate?,c#,wpf,datatemplate,C#,Wpf,Datatemplate,我需要为控件添加一个额外的dependency属性,所以我要覆盖它。即: namespace Custom_TextBlock_Sample { public class CustomLabel: Label { } } 但我似乎无法将其添加到数据模板中。以下代码将无法生成: ... xmlns:Custom_TextBlock_Sample="clr-namespace:Custom_TextBlock_Sample" ... <DataTemplate x:K

我需要为控件添加一个额外的dependency属性,所以我要覆盖它。即:

namespace Custom_TextBlock_Sample
{
  public class CustomLabel: Label
  {

  }
}
但我似乎无法将其添加到数据模板中。以下代码将无法生成:

 ... xmlns:Custom_TextBlock_Sample="clr-namespace:Custom_TextBlock_Sample" ...

   <DataTemplate x:Key="Test">
      <Grid>
        <Custom_TextBlock_Sample:CustomLabel></Custom_TextBlock_Sample:CustomLabel>
      </Grid>
    </DataTemplate>
。。。xmlns:Custom_TextBlock_Sample=“clr命名空间:Custom_TextBlock_Sample”。。。
但是,在其他任何地方插入我的重写控件(比如不在datatemplate中)。。编译工作没有问题

以下工作:(我的控件未嵌套在日期模板中)


在Datatemplate中使用常规标签也可以:

<DataTemplate x:Key="Test">
  <Grid>
    <Label/>
  </Grid>
</DataTemplate>

关于这个问题有什么想法吗?在这样一个庄园中,我能简单地不向datatemplates添加重写控件吗?这是VisualStudio2007中的一个bug吗

请注意,由于我打算对控件进行的更改很小,因此我只想覆盖“Label”,而不是将其包装在UserControl中


谢谢

好的,想好了。这似乎是VisualStudio的名称空间错误。当我从头开始一个新项目时,这个问题已经解决了。这次,项目名称中没有空格,名称空间名称中没有“\u1”。

这对我来说很好,您在这里输入的代码看起来没有问题。你得到的编译错误是什么?一个可能的问题可能是您从错误的标签类继承。检查CustomLabel文件中的using语句(例如,System.Reflection.Emit中的标签是密封的,因此无法编译)。
<DataTemplate x:Key="Test">
  <Grid>
    <Label/>
  </Grid>
</DataTemplate>