datagrid滚动条未显示在框架中

时间:2014-12-30 08:08:57

标签: wpf xaml datagrid

我在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中,它仍然不会显示滚动条。有这么敏感的原因吗?

1 个答案:

答案 0 :(得分:0)

滚动条仅显示绘制控件的可用区域是否大于分配的区域。在这里,您可以在用户控件中围绕网格放置一个滚动条。

或者如果您打算让您的usercontrol本身可滚动,那么您可以考虑将它放在框架周围。

例如:

<ScrollViewer Height="",Width="">
<Frame Grid.Column="1" Source="/content/membership/members/details/tabs/grid.xaml"/>
</ScrollViewer>

并尝试给你的ScrollViewer一个大小。