在我的主视图中,我有一个可用于缩放应用程序的滑块。
<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是一个具有splitbutton的视图,此splitbutton使用上下文菜单显示子项。按钮本身也会缩放,但上下文菜单不会缩放。
如何确保此上下文菜单与其按钮控件一起缩放?
答案 0 :(得分:1)
同时我找到了解决方案。我只是将上下文菜单的数据上下文设置为其父数据上下文,如:
<ContextMenu DataContext="{Binding RelativeSource={RelativeSource Mode=Self}, Path=PlacementTarget.DataContext}">