繁体   English   中英

将内部控件的Content属性公开为自己的[用户控件]

[英]Exposing inner controls Content property as own [User Control]

我是WFP的新手,并尝试通过其他示例来学习它。

现在,我想创建一个自定义用户控件,其中包含按钮(以及其他控件)。 我想将Buttons Content属性公开为用户控件的所有者。

用户控制:

<DockPanel LastChildFill="True">
    <Button Name="ClickButton" DockPanel.Dock="Right" Focusable="False"/>
    <TextBox Name="TextBox">lorem ipsum dolor set amet</TextBox>
</DockPanel>

我想在“主应用程序”窗口中更改“按钮内容”,如下所示:

<my:ButtonTextBox Name="mtb1" Grid.Column="0" Grid.Row="0">Some text</my:ButtonTextBox>

一些文字 ,是要在按钮上方写的文字...

我该如何实现? 谢谢!

您的UserControl应该为按钮内容定义自己的依赖项属性:

public static readonly DependencyProperty ButtonContentProperty = ...;

然后将您的UserControl的Button绑定到该属性:

<Button Name="ClickButton" Content="{Binding ButtonContent}" .../>

然后,您可以按以下方式使用它:

<my:ButtonTextBox ButtonContent="Some text" .../>

如果您希望能够做到这一点:

<my:ButtonTextBox ...>Some text</my:ButtonTextBox>

您将需要在UserControl上指定ContentPropertyAttribute:

[ContentProperty("ButtonContent")]
public partial class ButtonTextBox

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM