首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF中的DependencyProperty和UserControl

WPF中的DependencyProperty和UserControl
EN

Stack Overflow用户
提问于 2011-12-23 22:40:39
回答 1查看 50关注 0票数 0

我创建了一个UserControl,在两个网格行中有一个标签和一个矩形。我添加了属性

代码语言:javascript
复制
public string SetText
{
    get
    {
        return (string)GetValue(mLabel.ContentProperty);
    }
    set
    {
        SetValue(mLabel.ContentProperty, value);
    }
}

属性的用法

代码语言:javascript
复制
<local:PlayerMiniImage SetText="Player 1" ...

当我使用这个属性时,标签的字体改变了,矩形消失了。你知道吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-23 22:45:04

如果您定义了一个UserControl...

代码语言:javascript
复制
<UserControl x:Class="...">
    <Border>
        <!-- ... -->
    </Border>
</UserControl>

然后它里面的所有东西,这里是一个Border,就是Content,因此如果你设置了ContentProperty,所有的东西都将被替换。

要设置标签内容,请创建新DP:

代码语言:javascript
复制
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); }
}

并将标签绑定到它:

代码语言:javascript
复制
<Label Content="{Binding LabelContent, RelativeSource={RelativeSource AncestorType=UserControl}}"/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8617281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档