我正在尝试将格式化的双精度值多重绑定到文本框。我有一个转换器,它接受一个双精度和一个格式化程序对象,并返回要显示的格式化字符串。双精度绑定到特定数据源,格式化程序是视图模型中的属性。我遇到的问题是我无法绑定到视图模型属性。这是我在 xaml 中的代码
<StackPanel Grid.Row="0" Grid.Column="1">
<TextBlock HorizontalAlignment="Left" Style="{StaticResource HintDataItemsStyle}">
<TextBlock.Text>
<MultiBinding Converter="{StaticResource FormatConverter}">
<Binding Path="OpenValue" />
<Binding Path="XLabelFormatterY1" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
这是视图模型中的属性
private ILabelFormatter _labelFormatterY1;
public ILabelFormatter XLabelFormatterY1
{
get { return _labelFormatterY1; }
set
{
_labelFormatterY1 = value;
OnPropertyChanged("XLabelFormatterY1");
}
}
所以,在我的转换器中,我能够获取"OpenValue"的值,但运行时找不到 XLabelFormatterY1。我见过的大多数多重绑定示例都绑定到 gui 组件。我正在尝试绑定到视图模型,并希望得到所有帮助。
老问题但没有答案。我相信您正在寻找此解决方案。如果此答案不适合您,请尝试在绑定中显式设置NotifyOnSourceUpdated="True"
。还要仔细检查您是否设置了正确的AncestorType
,正如wookietomwookie在他的答案中所说的那样。