我创建了一个自定义的UserControl
,其中包含以下控件
<TextBlock Text="{Binding NameUtility}" />
<TextBlock Text="{Binding TotalCost}" "/>
在代码中,两个绑定都声明如下
public static readonly DependencyProperty SetNameUtilityProperty =
DependencyProperty.Register(
nameof(NameUtility),
typeof(string),
typeof(SummaryInfo));
public string NameUtility
{
get { return (string)GetValue(SetNameUtilityProperty); }
set { SetValue(SetNameUtilityProperty, value); }
}
public static readonly DependencyProperty SetTotalCostProperty =
DependencyProperty.Register(
nameof(TotalCost),
typeof(string),
typeof(SummaryInfo));
public string TotalCost
{
get { return (string)GetValue(SetTotalCostProperty); }
set { SetValue(SetTotalCostProperty, value); }
}
上述控件在另一个控件XAML中使用为
<Utilities:SummaryInfo NameUtility="GAS" TotalCost="{Binding TotalGasEuro}"/>
绑定变量TotalGasEuro
正确声明如下
private string _totalGasEuro;
public string TotalGasEuro { get => _totalGasEuro; set { _totalGasEuro = value; NotifyPropertyChanged(); } }
运行应用程序时,GAS
会显示出来,而在运行时更新的绑定值不会显示出来。(我从代码中删除了上面的图形部分)
1条答案
按热度按时间krcsximq1#
我发现了我的问题。看起来要有一个绑定作为我试图实现的,你需要指定相对源。
在我的示例中,当从XAML调用自定义控件时: