在改变宽度和宽度时从左上方拉伸高度wpf

时间:2013-07-23 14:39:08

标签: c# wpf user-interface grid stretch

所以我有一个窗口,里面有一个“抽屉”。当用户点击按钮并且它位于窗口右侧时,它会从窗口后面滑出。

用户可以调整主窗口的大小(具体来说是散点图项)。我想用窗户缩放“抽屉”。但是,我遇到了一个问题,当你调整窗口大小时,它会从左上角向左调整抽屉的大小。这将抽屉的内容放在我的窗户后面。我想保留窗口的左侧部分并将其拉伸到右侧。我希望我的照片更好地解释它。

(注意,请原谅两张图片中的标签控制位置不一致,对不起)

这是在矩形和网格的网格之前标签控件滑出:

previous

这是带有矩形和矩形的网格。标签控件已经滑出:

step1

这是当散点图项目缩放得更大时,因此缩放抽屉更大 - 无意中将其隐藏在散点图项目后面:

step2

这是散射视图项目已缩放为DOWN,从而缩小了抽屉的尺寸。显而易见的是,矩形和标签控件的网格缩放到右上角,而不是我想要的左上角。

step3

这与我的抽屉高度以某种方式限制在主窗口的高度和宽度值这一事实有关吗?我已经尝试了各种各样的正确对象价值和东西无济于事。底座面板是否适合这个标签控件?以下是一些XAML:

    <s:ScatterViewItem x:Name="Window" Orientation="0"
        Background="#FF787878" MaxWidth="500" MaxHeight="500" Center="9000,9000" CanScale="True" Visibility="Visible" RenderTransformOrigin="0.5,0.5" Width="200" Height="150" >
   <!--Bunch of other items like textboxes here-->
        <Grid x:Name="HancockDetails" Height="{Binding ActualHeight, ElementName=grid1}" VerticalAlignment="Top" Width="{Binding ActualWidth, ElementName=grid1}" Grid.Column="1" RenderTransformOrigin="0.5,0.5" FlowDirection="RightToLeft" HorizontalAlignment="Left">
        <Grid.RenderTransform>
          <TranslateTransform x:Name="hcDetailTransform" />
         </Grid.RenderTransform>
          <Rectangle>
          <TabControl>
              <TabItem>
                 <TextBlock>
                 </TextBlock>
              </TabItem>
           </TabControl>
           </Rectangle>
          </Grid>
    </Scatterviewitem>

1 个答案:

答案 0 :(得分:0)

我们很难猜测你如何编写你的用户界面,所以如果不提供一些代码,我们就不太可能找出你的确切问题。

然而,以一种新的方式看待这个......我在屏幕截图中看到一个大矩形。在这个矩形的左边是你所谓的主窗口,右边是......好吧,还有别的东西。我看到这个矩形已经旋转了一小部分。

你能不能让那个外部矩形略微旋转Grid,有两列;左栏中的主窗口和右栏中的另一个“抽屉”?然后,当用户调整窗口大小时,Grid将自动填充空间并将所有内容保持在一起。