我创建了一个UserControl,在两个网格行中有一个标签和一个矩形。我添加了属性
public string SetText
{
get
{
return (string)GetValue(mLabel.ContentProperty);
}
set
{
SetValue(mLabel.ContentProperty, value);
}
}属性的用法
<local:PlayerMiniImage SetText="Player 1" ...当我使用这个属性时,标签的字体改变了,矩形消失了。你知道吗?
发布于 2011-12-23 22:45:04
如果您定义了一个UserControl...
<UserControl x:Class="...">
<Border>
<!-- ... -->
</Border>
</UserControl>然后它里面的所有东西,这里是一个Border,就是Content,因此如果你设置了ContentProperty,所有的东西都将被替换。
要设置标签内容,请创建新DP:
public static readonly DependencyProperty LabelContentProperty =
DependencyProperty.Register("LabelContent", typeof(object), typeof(MyUserControl), new UIPropertyMetadata(null));
public object LabelContent
{
get { return (object)GetValue(LabelContentProperty); }
set { SetValue(LabelContentProperty, value); }
}并将标签绑定到它:
<Label Content="{Binding LabelContent, RelativeSource={RelativeSource AncestorType=UserControl}}"/>https://stackoverflow.com/questions/8617281
复制相似问题