这个
ProxyElement
不会在中绑定数据上下文
Resources
因为它不是可视化树的一部分。要使此工作正常,请定义
FrameworkElement
在可视树中的任何位置,例如
Grid
. 这个
DataContext
Visibility
委托书
Collapsed
,所以它是隐藏的。
<Grid>
<!-- ...grid definitions. -->
<FrameworkElement Grid.Row="42" x:Name="ProxyElement" Visibility="Collapsed"/>
</Grid>
x:Reference
,自
ElementName
绑定只在可视树中工作,但列不是可视树的一部分。
<DataGridTextColumn.Visibility>
<MultiBinding Converter="{StaticResource MyMultiValueConverter}">
<Binding Source="{x:Reference ProxyElement}" Path="DataContext.InitialDepositAmount"/>
<Binding Source="1"/>
</MultiBinding>
</DataGridTextColumn.Visibility>
更好的方法是使用
Freezable
related post
BindingProxy
,也适用于
而且没有
x:参考
.