0

私は LayoutTransform がそのような Slider にバインドされている DataGrid を持っています:

<DataGrid.LayoutTransform>
            <ScaleTransform 
                ScaleX="{Binding ElementName=MySlider, Path=Value}"
                ScaleY="{Binding ElementName=MySlider, Path=Value}" />
        </DataGrid.LayoutTransform>
    </DataGrid>

    <Slider x:Name="MySlider"
            Minimum="0.3"
            Maximum="2.0"
            SmallChange="0.1"
            LargeChange="0.1"
            Value="1.0" 
            IsSnapToTickEnabled="True"
            TickFrequency="0.1"
            TickPlacement="TopLeft"
            VerticalAlignment="Bottom"
            HorizontalAlignment="Right"
            Width="200"
            Margin="0,0,61,0"  />

    <TextBlock Name="Lstate"
               Text="{Binding ElementName=MySlider, Path=Value, StringFormat={}{0:P0}}"
               VerticalAlignment="Bottom"
               HorizontalAlignment="Right"
               Width="50" Height="20"
               Margin="0,0,0,1" />

さて、コードには、次のコードで PreviewMouseWheel イベントがあります。

bool handle = (Keyboard.Modifiers & ModifierKeys.Control) > 0;
        if (!handle)
            return;

        double value;

        if (e.Delta > 0)
            value = 0.1;
        else
            value = -0.1;

        MySlider.Value += value;

私の質問は、AutoCad やその他のプログラムのように実際のマウス位置までスクロールする方法です。

ありがとう

私の悪い英語で申し訳ありません...

4

1 に答える 1