我正在 WPF 中创建一个简单的用户控件,其中包含一个按钮内的 TextBlock。
<UserControl x:Class="WpfExpansion.MyButton"..... >
<Grid >
<Button Background="Transparent" >
<TextBlock Text="{Binding Path=Text}"/>
</Button>
</Grid>
</UserControl>
还有“文本”依赖属性。
public partial class MyButton : UserControl
{
public MyButton()
{
InitializeComponent();
this.DataContext = this;
}
public string Text
{
get { return (string)GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}
public static readonly DependencyProperty TextProperty =
DependencyProperty.Register("Text", typeof(string), typeof(MyButton), new PropertyMetadata(string.Empty));
}
然后我像这样使用 UserControl:
<MyButton Text="Test" />
问题是 Visual Studio 的设计没有改变,但它在运行时工作。
怎么了?
我也试过
DataContext="{Binding RelativeSource={RelativeSource Self}}"
在UC定义里面,没有成功。