可从IMultiValueConverter访问DataContext

时间:2018-07-17 09:29:41

标签: c# .net wpf

我有WPF应用程序,我需要绑定两个参数(无论它们是什么)以计算值(是否选中复选框)。所以我必须使用IMultiValueConverter,这很好。

但是有没有办法让此转换器访问我绑定到的窗口的DataContext(ViewModel)?

基本上,我在树形视图中有一些复选框,我需要将这些ese复选框及其父标题的内容(文本)传递给转换器。然后,在转换器中,我需要处理该文本,并找出它是否存在于ViewModel(DataContext)中的某个集合中。我知道我不能使用ConverterParameter,因为它不支持绑定。

1 个答案:

答案 0 :(得分:2)

只需在您的Binding中添加另一个MultiBinding即可绑定到视图模型,例如:

<MultiBinding Converter="{StaticResource converter}">
    <Binding Path="Property1" />
    <Binding Path="Property2" />
    <Binding Path="DataContext" RelativeSource="{RelativeSource AncestorType=Window}" />
</MultiBinding>