代码之家  ›  专栏  ›  技术社区  ›  Ben

可浮动窗口在Silverlight中调整网格大小

  •  2
  • Ben  · 技术社区  · 14 年前

    我想用 Tim Heuer's FloatableWindow control 对于我的Silverlight应用程序中的非模式选项窗口。但是,当floatable窗口打开时,我遇到了调整其父网格大小的问题。例如,在打开窗口之前,应用程序如下所示:

    Screenshot of application before FloatableWindow is open http://www.freeimagehosting.net/uploads/a71ab86e4b.png

    但打开窗口后,网格的第一行将展开:

    Screenshot of application after FloatableWindow is open http://www.freeimagehosting.net/uploads/94d97c22ee.png

    我正在设置 FloatableWindow.ParentLayoutRoot 到mainpage.xaml中的layoutroot网格。这样做对吗?当浮动窗口打开时,如何防止网格调整大小?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Shai UI    14 年前

    我也碰到过这个。如果你的网格是基于表的,那么浮动窗口会变得有点糟糕:

    <Grid x:Name="LayoutRoot">
      <Grid.RowDefinitions>
      bla bla...
      </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
      bla bla...
    </Grid.ColumnDefinitions>
    
      more of your code bla bla...
    </Grid>
    

    修复非常简单,只需在其中为您的表添加一个虚拟网格 基于布局,像以前一样使用“layoutroot”。

    <Grid x:Name="LayoutRoot">
      <Grid x:Name="DummyGrid">
        <Grid.RowDefinitions>
         bla bla...
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
         bla bla...
        </Grid.ColumnDefinitions>
    
        more of your code bla bla...
     </Grid>
    </Grid>