如何在wpf中将scrollviewer大小设置为父级的网格大小

时间:2013-03-02 12:31:54

标签: c# wpf xaml

我在网格中有一个弹出控件,我希望它调整为父网格大小。如您所见,父网格区域为绿色,弹出窗口为LightCyan颜色。 LightCyan中的区域应覆盖整个绿色区域。而且我认为我必须将Scrollviewer的宽度和高度设置为父亲的宽度和高度,但这不起作用。 请回复。感谢

我正在使用代码在LinePopGrid中添加不同的东西。

<Grid Background="Green">
<Popup x:Name="LinePopUp" IsOpen="True" Placement="Relative" >
        <ScrollViewer  CanContentScroll="True" VerticalScrollBarVisibility="Auto">
            <Grid Background="LightCyan" x:Name="LinePopUpGrid" />
        </ScrollViewer>
    </Popup>
</Grid>

Attached Picture

1 个答案:

答案 0 :(得分:6)

您需要将PopUp widthheight分别绑定到网格的ActualWidthActualHeight -

<Grid Background="Green">
        <Popup x:Name="LinePopUp" IsOpen="True" Placement="Relative"
               Width="{Binding ActualWidth,RelativeSource={RelativeSource 
                               Mode=FindAncestor, AncestorType=Grid}}"                   
               Height="{Binding ActualHeight,RelativeSource={RelativeSource
                                Mode=FindAncestor, AncestorType=Grid}}">
            <ScrollViewer CanContentScroll="True"
                          VerticalScrollBarVisibility="Auto">
                <Grid Background="LightCyan" x:Name="LinePopUpGrid" />
            </ScrollViewer>
        </Popup>
 </Grid>