Dav*_*vid 2 c# wpf xaml wpf-controls
我是世界粮食计划署的新手,并尝试通过不同的例子来学习它.
现在我想创建一个自定义用户控件,其中包含按钮(以及其他控件).我想将Buttons Content属性公开为User Controls自己.
用户控制:
<DockPanel LastChildFill="True">
<Button Name="ClickButton" DockPanel.Dock="Right" Focusable="False"/>
<TextBox Name="TextBox">lorem ipsum dolor set amet</TextBox>
</DockPanel>
Run Code Online (Sandbox Code Playgroud)
我想在主应用程序窗口中更改按钮内容,如下所示:
<my:ButtonTextBox Name="mtb1" Grid.Column="0" Grid.Row="0">Some text</my:ButtonTextBox>
Run Code Online (Sandbox Code Playgroud)
有一些文字,是要写在按钮上的文字......
我怎样才能做到这一点?谢谢!
您的UserControl应为按钮内容定义自己的依赖项属性:
public static readonly DependencyProperty ButtonContentProperty = ...;
Run Code Online (Sandbox Code Playgroud)
然后将UserControl的Button绑定到该属性:
<Button Name="ClickButton" Content="{Binding ButtonContent}" .../>
Run Code Online (Sandbox Code Playgroud)
然后你可以按如下方式使用它:
<my:ButtonTextBox ButtonContent="Some text" .../>
Run Code Online (Sandbox Code Playgroud)
如果您希望能够这样做:
<my:ButtonTextBox ...>Some text</my:ButtonTextBox>
Run Code Online (Sandbox Code Playgroud)
您需要在UserControl上指定ContentPropertyAttribute:
[ContentProperty("ButtonContent")]
public partial class ButtonTextBox
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1566 次 |
| 最近记录: |