0

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

用户可以调整主窗口的大小(特别是它的 scatterview 项目)。我想用窗户缩放“抽屉”。但是,我遇到了一个问题,当您调整窗口大小时,它会从右上到左调整抽屉的大小。这会将抽屉的内容放在我的窗口后面。我想保留窗口的左侧并将其向右拉伸。我希望我的图片能更好地解释它。

(注意,请原谅两张图片中的选项卡控制位置差异,对不起)

这是在带有矩形和选项卡控件的网格滑出之前:

以前的

这是带有矩形和选项卡控件的网格被滑出的时候:

步骤1

这是当 scatterview 项目被缩放得更大时,从而将抽屉缩放得更大 - 无意中将其隐藏在 scatterview 项目后面:

第2步

这是当 scatterview 项目已按比例缩小时,从而将抽屉缩小。很明显,容纳矩形的网格和选项卡控件正在缩放到右上角,而不是我想要的左上角。

第三步

这与我将抽屉高度以某种方式限制到主窗口的高度和宽度值这一事实有关吗?我尝试了各种右对齐值和东西都无济于事。停靠面板是否适合这个选项卡控件?这是一些 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>
4

1 回答 1

0

我们很难猜出您是如何编写 UI 的,因此如果您不提供一些代码,我们不太可能找出您的确切问题所在。

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

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

于 2013-07-24T12:13:19.513 回答