1 回答
TA贡献1812条经验 获得超5个赞
下面是您的 UserControl 代码背后的样子。您不需要实现 INotifyPropertyChanged。
有关所有详细信息,请参阅自定义依赖项属性。具体来说,您必须从属性包装器的 getter 和 setter 中调用GetValueand SetValue(没有其他任何内容)Text。
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
public static readonly DependencyProperty TextProperty =
DependencyProperty.Register(
nameof(Text), typeof(string), typeof(UserControl1));
public string Text
{
get { return (string)GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}
}
对于在其自己的 XAML 中绑定到 UserControl 的 Text 属性,您可以使用RelativeSource而不是 ElementName 来保存无用的生成类成员:
<UserControl x:Class="WpfApp1.UserControl1" ...>
...
<TextBlock Text="{Binding Text,
RelativeSource={RelativeSource AncestorType=UserControl}}" .../>
...
</UserControl>
- 1 回答
- 0 关注
- 282 浏览
添加回答
举报