私の問題はScrollViewer
、マウスカーソルがテキストブロックまたはその他のいずれかにホバリングしているときにのみスクロールすることUIElement
です。カーソルが余白スペース (画像では赤で表示) の上にある場合、スクロールは無視されます。
ここでは、Silverlight 5 で作成された例を確認できます。
Grid
代わりに使用しようとしましたがStackPanel
、成功しませんでした。マージンをパディングに変更するとうまくいくようですが、コントロールにはマージンのある他の要素もあり、可能であればマージンを使用したいと思います。
こことGoogleで検索しようとしましたが、誰も同じ問題を抱えているようには見えません。
なぜこれが機能しないのですか?
動作を示すサンプル コードを次に示します。
<UserControl x:Class="cwtest.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">
<UserControl.Resources>
<Style TargetType="TextBlock">
<Setter Property="Margin" Value="30"></Setter>
</Style>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="White">
<ScrollViewer Height="300" Width="500">
<StackPanel>
<TextBlock Text="Text Text Text Text Text Text Text Text Text Text Text Text Text Text "></TextBlock>
<TextBlock Text="Text Text Text Text Text Text Text Text Text Text Text Text Text Text "></TextBlock>
<TextBlock Text="Text Text Text Text Text Text Text Text Text Text Text Text Text Text "></TextBlock>
<TextBlock Text="Text Text Text Text Text Text Text Text Text Text Text Text Text Text "></TextBlock>
<TextBlock Text="Text Text Text Text Text Text Text Text Text Text Text Text Text Text "></TextBlock>
<TextBlock Text="Text Text Text Text Text Text Text Text Text Text Text Text Text Text "></TextBlock>
<TextBlock Text="Text Text Text Text Text Text Text Text Text Text Text Text Text Text "></TextBlock>
<TextBlock Text="Text Text Text Text Text Text Text Text Text Text Text Text Text Text "></TextBlock>
<TextBlock Text="Text Text Text Text Text Text Text Text Text Text Text Text Text Text "></TextBlock>
<TextBlock Text="Text Text Text Text Text Text Text Text Text Text Text Text Text Text "></TextBlock>
<TextBlock Text="Text Text Text Text Text Text Text Text Text Text Text Text Text Text "></TextBlock>
<TextBlock Text="Text Text Text Text Text Text Text Text Text Text Text Text Text Text "></TextBlock>
<TextBlock Text="Text Text Text Text Text Text Text Text Text Text Text Text Text Text "></TextBlock>
<TextBlock Text="Text Text Text Text Text Text Text Text Text Text Text Text Text Text "></TextBlock>
<TextBlock Text="Text Text Text Text Text Text Text Text Text Text Text Text Text Text "></TextBlock>
</StackPanel>
</ScrollViewer>
</Grid>
</UserControl>