WPF 数据绑定通过 ElementName 失效后改为 Reference 正常
原代码如下,运行正常:
<Grid><Grid x:Name="gridMenus" Visibility="Collapsed"><Grid.ContextMenu><ContextMenu><MenuItem x:Name="menuItemOpenFile" Header="打开文件" /><MenuItem x:Name="menuItemOpenURL" Header="打开URL" /></ContextMenu></Grid.ContextMenu></Grid><Grid Background="Yellow" ContextMenu="{Binding ElementName=gridMenus, Path=ContextMenu}" /> </Grid>
改为如下代码后,无法运行了:
<fl:FlyleafHost Player="{Binding Player1}"><Grid><Grid x:Name="gridMenus" Visibility="Collapsed"><Grid.ContextMenu><ContextMenu><MenuItem x:Name="menuItemOpenFile" Header="打开文件" /><MenuItem x:Name="menuItemOpenURL" Header="打开URL" /></ContextMenu></Grid.ContextMenu></Grid><Grid Background="Yellow" ContextMenu="{Binding ElementName=gridMenus, Path=ContextMenu}" /></Grid> </fl:FlyleafHost>
使用 Reference 绑定后正常了:
<fl:FlyleafHost Player="{Binding Player1}"><Grid><Grid x:Name="gridMenus" Visibility="Collapsed"><Grid.ContextMenu><ContextMenu><MenuItem x:Name="menuItemOpenFile" Header="打开文件" /><MenuItem x:Name="menuItemOpenURL" Header="打开URL" /></ContextMenu></Grid.ContextMenu></Grid><Grid Background="Yellow" ContextMenu="{Binding Source={x:Reference gridMenus}, Path=ContextMenu}" /></Grid> </fl:FlyleafHost>
桂棹兮兰桨,击空明兮溯流光。
