我在UseraControl中有一个DataGrid。在一个单独的UserControl中,我有一个框架,指向带有DataGrid的UserControl。应用程序运行时,数据网格显示在框架中。但Datagrid的滚动条不可见。反正不是传统的。
如果我将框架放在此手柄中,它会显示滚动条。
d:DesignHeight="768" d:DesignWidth="1366">
<Grid DataContext="{Binding Source={x:Static app:detailsSQL.Instance}}">
<Frame ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.CanContentScroll="True" Source="/content/membership/members/details/tabs/grid.xaml"/>
</Grid>
但是,如果我这样做,滚动条会消失,尽管它仍然能够用鼠标滚轮滚动。
d:DesignHeight="768" d:DesignWidth="1366">
<Grid DataContext="{Binding Source={x:Static app:detailsSQL.Instance}}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Frame Grid.Column="1" Source="/content/membership/members/details/tabs/grid.xaml"/>
</Grid>
即使我没有将Frame放在GridColumn中,它仍然不会显示滚动条。有这么敏感的原因吗?
答案 0 :(得分:0)
滚动条仅显示绘制控件的可用区域是否大于分配的区域。在这里,您可以在用户控件中围绕网格放置一个滚动条。
或者如果您打算让您的usercontrol本身可滚动,那么您可以考虑将它放在框架周围。
例如:
<ScrollViewer Height="",Width="">
<Frame Grid.Column="1" Source="/content/membership/members/details/tabs/grid.xaml"/>
</ScrollViewer>
并尝试给你的ScrollViewer一个大小。