代码之家  ›  专栏  ›  技术社区  ›  L-Four

WPF绑定上下文菜单

  •  0
  • L-Four  · 技术社区  · 14 年前

    在我的主视图中,我有一个可以用来缩放应用程序的滑块。

    <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>
    

    这很好:像这样,我的Windows中的每个控件都可以缩放。

    现在,menucontrol是一个有splitbutton的视图,这个splitbutton使用上下文菜单来显示子项。按钮本身也会缩放,但上下文菜单不会缩放。

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

    1 回复  |  直到 14 年前
        1
  •  1
  •   L-Four    14 年前

    同时我找到了一个解决办法。我只是将上下文菜单的数据上下文设置为其父数据上下文,如下所示:

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