Xaml 包含ScrollViewer的Usercontrol已禁用滚动条

Xaml 包含ScrollViewer的Usercontrol已禁用滚动条,xaml,scroll,user-controls,scrollbar,Xaml,Scroll,User Controls,Scrollbar,我已经实现了一个用户控件,它在ScrollViewer中包含一个网格。后面没有功能代码。如果XAML(见下文)在应用程序中使用(因此在之间),它将按预期工作。如果行高度足够大,并且可以向上滚动较低的行,则会显示垂直滚动条。但是,如果用户控件使用完全相同的XAML(因此在之间),则除禁用滚动条外,它的工作方式相同。当检查ScrollViewer时,显示IsEnabled为true。知道为什么不能选择此控件吗 <Canvas Name="MyCanvas">

我已经实现了一个用户控件,它在ScrollViewer中包含一个网格。后面没有功能代码。如果XAML(见下文)在应用程序中使用(因此在
之间),它将按预期工作。如果行高度足够大,并且可以向上滚动较低的行,则会显示垂直滚动条。但是,如果用户控件使用完全相同的XAML(因此在
之间),则除禁用滚动条外,它的工作方式相同。当检查ScrollViewer时,显示IsEnabled为true。知道为什么不能选择此控件吗

    <Canvas Name="MyCanvas">
        <Canvas Name="GridHeaderCanvas"
                Background="Black"
                Width="345"
                Height="480"
                Canvas.Top="0">
            <Label Content="Add" Background="BlanchedAlmond" HorizontalAlignment="Center" Width="35" Height="25" Canvas.Top="3" Canvas.Left="3"></Label>
            <Label Content="Name" Background="PowderBlue" HorizontalContentAlignment="Center" Width="245" Height="25" Canvas.Top="3" Canvas.Left="41"></Label>
            <Label Content="Val" Background="PowderBlue" HorizontalContentAlignment="Center" Width="35" Height="25" Canvas.Top="3" Canvas.Left="290"></Label>
            <ScrollViewer x:Name="MyScrollViewer"
                Canvas.Top="30"
                Canvas.Left="3"
                Height="440"
                HorizontalScrollBarVisibility="Disabled"
                VerticalScrollBarVisibility="Auto">
                <Grid x:Name="GridCanvas"
                        Background="Black">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="35" />
                        <ColumnDefinition Width="245" />
                        <ColumnDefinition Width="35" />
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="200" />
                        <RowDefinition Height="200" />
                        <RowDefinition Height="200" />
                        <RowDefinition Height="200" />
                    </Grid.RowDefinitions>

                    <Label Content="Val0" Background="PowderBlue" Grid.Column="0" Grid.Row="0"></Label>
                    <Label Content="Val0" Background="PowderBlue" Grid.Column="1" Grid.Row="0"></Label>
                    <Label Content="Val0" Background="PowderBlue" Grid.Column="2" Grid.Row="0"></Label>
                    <Label Content="Val1" Background="Pink" Grid.Column="0" Grid.Row="1"></Label>
                    <Label Content="Val1" Background="Pink" Grid.Column="1" Grid.Row="1"></Label>
                    <Label Content="Val1" Background="Pink" Grid.Column="2" Grid.Row="1"></Label>
                    <Label Content="Val2" Background="Yellow" Grid.Column="0" Grid.Row="2"></Label>
                    <Label Content="Val2" Background="Yellow" Grid.Column="1" Grid.Row="2"></Label>
                    <Label Content="Val2" Background="Yellow" Grid.Column="2" Grid.Row="2"></Label>
                    <Label Content="Val3" Background="Pink" Grid.Column="0" Grid.Row="3"></Label>
                    <Label Content="Val3" Background="Pink" Grid.Column="1" Grid.Row="3"></Label>
                    <Label Content="Val3" Background="Pink" Grid.Column="2" Grid.Row="3"></Label>
                </Grid>
            </ScrollViewer>
        </Canvas>
        <Canvas Name="ComponentCanvas"
                Width="300"
                Height="480"
                Background="LightSkyBlue"
                Canvas.Top="0"
                Canvas.Left="350">
            <StackPanel
                Name="ControlPanel"
                Canvas.Top="10"
                Canvas.Left="10">
            </StackPanel>
        </Canvas>
    </Canvas>

花了一些时间,但答案是承载此控件的页面是Canvas类型。这个画布没有名字,如果有名字,问题就消失了