当uielements有保证金时,ScrollViewer不起作用

时间:2013-07-26 15:15:24

标签: silverlight xaml silverlight-5.0 scrollviewer uielement

我的问题是ScrollViewer仅在鼠标光标悬停其中一个文本块或任何其他UIElement时滚动。当光标位于边距空间(图像中以红色显示)时,将忽略滚动。

在这里,您可以看到在Silverlight 5中创建的示例: ScrollViewer

我尝试使用Grid代替StackPanel但没有成功。将边距更改为填充似乎效果更好,但我的控件中还有其他元素有保证金,如果可能,我想使用保证金。
我试图在这里和谷歌搜索,但似乎没有人有同样的问题。

为什么这不起作用?

以下是演示行为的示例代码:

<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>

1 个答案:

答案 0 :(得分:2)

它只需要一些东西让它可以看到点击测试,这很容易就像添加Background="Transparent"一样;

<ScrollViewer Height="300" Width="500" Background="Transparent">

或者根据需要添加背景颜色或其他颜色。我知道似乎很迟钝,但这就是你所需要的。

希望这有帮助。