我需要为控件添加额外的依赖属性,所以我要覆盖它。即:
namespace Custom_TextBlock_Sample
{
public class CustomLabel: Label
{
}
}
但我似乎无法将其添加到DataTemplate。以下代码将无法构建:
... xmlns:Custom_TextBlock_Sample="clr-namespace:Custom_TextBlock_Sample" ...
<DataTemplate x:Key="Test">
<Grid>
<Custom_TextBlock_Sample:CustomLabel></Custom_TextBlock_Sample:CustomLabel>
</Grid>
</DataTemplate>
然而,在其他地方插入我的覆盖控件,(比如不在datatemplate中)..并且编译没问题。
以下工作原理:(我的控件未嵌套在日期模板中)。
<Grid>
<Custom_TextBlock_Sample:CustomLabel></Custom_TextBlock_Sample:CustomLabel>
</Grid>
同样在Datatemplate中使用常规标签也可以:
<DataTemplate x:Key="Test">
<Grid>
<Label/>
</Grid>
</DataTemplate>
关于问题可能是什么的任何想法?我可以简单地不在这样的庄园中为数据模板添加重写控件吗?这是Visual Studio 2007中的错误吗?
请注意,由于我打算更改为控件,因此我只想覆盖“Label”,而不是将其包装在UserControl中。
由于
答案 0 :(得分:0)
好的,想通了。这似乎是Visual Studio的命名空间错误。当我从头开始一个新项目时,问题就解决了,这次项目名称中没有空格,名称空间名称中没有“_”。