WPF自定义控件,将该控件中包含的控件的某个属性绑定到自定义的属性对外暴露

1、问题的描述:我自定义一个MyButton,该Button中包含一个TextBlock和一个Button,我想讲TextBlock的Text属性对外暴露,如:Mybutton.Text实际上就是TextBlock.Text。
2、解决方法:
①在自定义的空间的cs文件中定义一个string类型的依赖属性ButtonText
②在TextBlock中将他的Text属性绑定到ButtonText属性中,绑定的方法和普通的绑定方法有点不同:
Text=”{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:MyButton}}, Path=ButtonText}
而且MyButton的构造函数中不能有DataContext=this,有这句话就不行,
③在使用该控件的时候就可以这样子用
MyButton.ButtonText=”Hello”,或者用普通的方法进行绑定。

你可能感兴趣的:(WPF)