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