0

カーソルが WPF の要素の上にあるときにスクロールを無効にしたかったのです。 ここに画像の説明を入力

マウスが赤い四角形の上にある場合、スクロールは無効になっているはずです。赤い長方形はスクロールビューアにあります。

何か案が?

4

1 に答える 1

0

私はそれをこのコードで動作させることができました:

<Window.Resources>
    <converter:MouseOverToScrollBarVisibility x:Key="scrollVisibility" />
</Window.Resources>
<ScrollViewer VerticalScrollBarVisibility="{Binding IsMouseOver,
                ElementName=rec,
                Converter={StaticResource scrollVisibility}}">
    <Rectangle Height="50" Width="50" Fill="Red" x:Name="rec"/>
</ScrollViewer>

次に、このコンバーターを定義します。

[ValueConversion(typeof(bool), typeof(ScrollBarVisibility))]
sealed class MouseOverToScrollBarVisibility : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        return ((bool)value) ? ScrollBarVisibility.Hidden : ScrollBarVisibility.Visible;
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotSupportedException();
    }
}
于 2013-02-15T13:53:56.133 に答える