我有一个UserControl
DependencyProperty
定义如下:
public static readonly DependencyProperty DistanceTextProperty = DependencyProperty.Register(
nameof(DistanceText), typeof(string), typeof(MyControl), new PropertyMetadata(default(string)));
public string DistanceText
{
get { return (string)GetValue(DistanceTextProperty); }
set { SetValue(DistanceTextProperty, value); }
}
在UserControl
后面的某个地方,我像这样设置DependencyProperty
的值:
DistanceText = Math.Round((To - From).Length, 1).ToString(CultureInfo.InvariantCulture);
当我使用此UserControl
时,我想使用DistanceText
在XAML
中手动设置Binding
属性,如下所示:
<views:MyControl DistanceText="{Binding MyCustomDistanceText}"/>
但是,由于此DependencyProperty
已在我的UserControl
中进行了本地设置,因此会忽略Binding
。
有没有办法在我的UserControl
中检测到用户想要替换/覆盖DependencyProperty
中的XAML
?
我可以添加一个新的DependencyProperty
,当用户打算使用自定义值时,可以将其设置为true
,但这很容易出错。
答案 0 :(得分:1)
不是分配本地值,而是调用
Activity