WPF绑定上下文菜单
在我的主视图中,我有一个可用于缩放应用程序的滑块。
<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 是一个具有拆分按钮的视图,该拆分按钮使用上下文菜单来显示子项目。按钮本身也会缩放,但上下文菜单不会缩放。
我如何确保此上下文菜单与其按钮控件一起缩放?
in my main view, I have a slider that can be used to scale the application.
<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" />
and every control is scale-transformed accordingly:
<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>
This works fine: like this every control in my windows scales fine.
Now, the MenuControl is a view that has a splitbutton, and this splitbutton uses a context menu to display sub items. The button itself scales too, but the context menu does not scale.
How can I make sure that this context menu scales together with its button control?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
同时我找到了解决办法。我只是将上下文菜单的数据上下文设置为其父数据上下文,如下所示:
Meanwhile I found a solution. I just set the data context of the context menu to its parent data context like: