自定义控件绑定未更新

时间:2017-08-17 00:01:08

标签: c# wpf data-binding

我无法让绑定正常工作。基本上我有这个,称之为Control1.xaml。代码的注释部分正确绑定并按预期更新。

<Grid>
    <TextBlock Text="{Binding Path=NumberOfCalibrations, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"/>
</Grid>

但是,如果我将该注释代码放在名为CalibrationsSummary.xaml的自定义控件中,我就无法将其绑定到NumberOfCalibrations。

以下是CalibrationsSummary的样子

InitFcn

请注意,我确实使用RelativeSource来尝试获取与Control1.xaml关联的属性,也尝试使用TemplateBinding。我做错了什么?

1 个答案:

答案 0 :(得分:1)

除非您将其放在ControlTemplate中,否则

CalibrationSummary没有TemplatedParent

如果您没有在某处明确设置DataContext属性的CalibrationSummary,它将从其父控件继承DataContext(我假设为Control1 )然后你可以像往常一样绑定此控件的DataContext的任何属性,而不指定任何源:

<Grid>
    <TextBlock Text="{Binding Path=NumberOfCalibrations}"/>
</Grid>