此问题在此处已有答案:
How to implement two-way binding on a property?(2个答案)
7年前关闭。
我有一些奇怪的问题与mindecyProperty绑定。为了保持问题简单,我已经创建了一些dummy-control,有相同的不必要的行为
我有一个UserControl,它有一个在代码后面定义的DependencyProperty:
public static readonly DependencyProperty TestValueProperty = DependencyProperty.Register("TestValue", typeof(string), typeof(Test), new PropertyMetadata(default(string)));
public string TestValue
{
get { return (string)GetValue(TestValueProperty); }
set { SetValue(TestValueProperty, value); }
}
字符串
此属性用于XAML:
<Label Content="{Binding TestValue}" />
型
此控件应在另一个控件中使用,如下所示:
<views:Test TestValue="{Binding Settings.Setting123}" />
型Settings
在viewmodel中被定义为属性。
但是Settings.Setting123
的内容在我的用户控件的标签中不可见。
当写一些固定值而不是绑定时,它工作得很好:
<views:Test TestValue="Test" />
型
当然,我不想要一个固定的值,而是绑定对象的内容。有什么提示吗?
先谢谢你了!
1条答案
按热度按时间6ojccjat1#
您没有共享足够的代码让任何人重新创建问题,但阅读字里行间,我猜
Label
在您的UserControl
XAML中。如果TestValue
是UserControl
的属性,这可能会工作:字符串
你做对了一件事:你的UserControl构造函数必须总是设置
DataContext = this;
。没有例外。