контекстное меню привязки wpf - PullRequest
0 голосов
/ 08 ноября 2010

на моем главном экране есть ползунок, который можно использовать для масштабирования приложения.

<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 Ответ

1 голос
/ 08 ноября 2010

Тем временем я нашел решение. Я просто установил контекст данных контекстного меню на его родительский контекст данных, например:

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