スクロールビューアでマウスホイールを使用してスクロールする際に問題があります。 マウスカーソルがui要素を含まないスクロールバーの領域にあると、スクロールが機能しないようです。ScrollViwerでマウスホイールが正常に動作しない
添付の例では、スクロールビューアーに大きな余白を持つ四角形を塗りつぶしています。マウスカーソルが四角形の上にある場合、スクロールは機能しますが、マージンを超えるとスクロールは発生しません。
これを修正する方法はありますか?
XAML:
<UserControl x:Class="SilverlightApplication229.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Grid x:Name="LayoutRoot" Background="White">
<ScrollViewer VerticalScrollBarVisibility="Auto">
<StackPanel x:Name="MyPanel" />
</ScrollViewer>
</Grid>
</UserControl>
コード:
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
for (int i = 0; i < 100; i++)
{
Rectangle rect = new Rectangle { Width = 100, Height = 100, Fill = new SolidColorBrush(Colors.Red), Margin = new Thickness(50) };
MyPanel.Children.Add(rect);
}
}
}
ありがとう!
私が最近持っていたエラーの解決策は、スクロールビューアにバックグラウンドを追加することでした。透明な背景では、Silverlightはマウスがスクロールビューアではなく背景にあると考えるかもしれません。私はこの答えは確実ではありませんが、テストするのが速く簡単です。 – StephenT