WPF / Silverlight: предотвращение преобразования ScaleTransform на полосах прокрутки - PullRequest
2 голосов
/ 12 мая 2011

Мне интересно, есть ли способ применить ScaleTransform к ScrollViewer и не позволить масштабировать полосы прокрутки.

Вот что я пробовал:

<Window x:Class="Zoom.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Window.Resources>
    <ScaleTransform x:Key="ScrollBarTransform" ScaleX="1.0" ScaleY="1.0" />
    <Style TargetType="ScrollBar">
        <Setter Property="LayoutTransform" Value="{StaticResource ScrollBarTransform}" />
    </Style>
</Window.Resources>
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
    <ScrollViewer Grid.Row="0">
        <ScrollViewer.LayoutTransform>
            <ScaleTransform ScaleX="{Binding ElementName=scaleSlider, Path=Value}"
                            ScaleY="{Binding ElementName=scaleSlider, Path=Value}" />
        </ScrollViewer.LayoutTransform>
    </ScrollViewer>
    <Slider Grid.Row="1" Name="scaleSlider" Value="1" Minimum="0.5" Maximum="5.0" TickFrequency="0.25" />
</Grid>

Кажется, что ScrollBarTransform не прилипает при перемещении ползунка вперед и назад. Есть мысли?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 22 июня 2011

Кажется, нет способа сделать то, что я ищу. Если я когда-нибудь найду подходящий метод, я обновлю этот ответ.

0 голосов
/ 12 мая 2011

Почему бы не добавить ScaleTransform к содержимому ScrollViewer вместо ScrollViewer?

<ScrollViewer>
    <ContentControl /> <!-- Apply ScaleTransform to this -->
</ScrollViewer>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...