2010-11-08 105 views
0

在我的主视图中,我有一个可用于缩放应用程序的滑块。wpf binding contextmenu

<Slider x:Name="zoomSlider" VerticalAlignment="Center" Value="1" IsSnapToTickEnabled="True" TickFrequency="0.2" TickPlacement="Both" Minimum="0.5" Maximum="3" SmallChange="0.5" LargeChange="0.5" Width="100" /> 

和每一个控制规模转化相应:

<Controls:AutoHidePanel AutoHide="False" AutoFade="True" Height="50" Orientation="Horizontal"> 
      <Controls:AutoHidePanel.LayoutTransform> 
       <ScaleTransform 
       ScaleX="{Binding Value, ElementName=zoomSlider}" 
       ScaleY="{Binding Value, ElementName=zoomSlider}"/> 
      </Controls:AutoHidePanel.LayoutTransform> 
      <MenuControl /> 
     </Controls:AutoHidePanel> 

这工作正常:像这样在我的窗口每一个控制秤的罚款。

现在,MenuControl是一个具有分割按钮的视图,此分割按钮使用上下文菜单显示子项目。按钮本身也可以缩放,但上下文菜单不会缩放。

如何确保此上下文菜单与其按钮控件一起缩放?

回答

1

同时我找到了解决方案。我只是将上下文菜单的数据上下文设置为其父数据上下文,如:

<ContextMenu DataContext="{Binding RelativeSource={RelativeSource Mode=Self}, Path=PlacementTarget.DataContext}">