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>
桂棹兮兰桨,击空明兮溯流光。
浙公网安备 33010602011771号