wpf绑定contextmenu

时间:2010-11-08 14:40:11

标签: wpf data-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是一个具有splitbutton的视图,此splitbutton使用上下文菜单显示子项。按钮本身也会缩放,但上下文菜单不会缩放。

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

1 个答案:

答案 0 :(得分:1)

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

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