【发布时间】:2013-07-23 14:39:07
【问题描述】:
所以我有一个带有某种“抽屉”的窗口。当用户点击按钮时,它会从窗口后面滑出并位于窗口的右侧。
用户可以调整主窗口的大小(具体来说它是一个 scatterview 项目)。我想用窗户缩放“抽屉”。但是,我遇到了一个问题,当您调整窗口大小时,它会从右上到左调整抽屉的大小。这会将抽屉的内容放在我的窗口后面。我想保留窗口的左侧并将其向右拉伸。我希望我的图片能更好地解释它。
(注意,请原谅两张图片中的选项卡控件位置差异,对不起)
这是在带有矩形和标签控件的网格滑出之前:
这是带有矩形和标签控件的网格被滑出的时候:
这是 scatterview 项目被放大的时候,从而使抽屉变大 - 无意中将它隐藏在 scatterview 项目后面:
此时 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>
【问题讨论】:
-
将您的完整 xaml 发布在您拥有这两个控件的位置,很难通过提供的信息猜测上下文。
-
我想我可以尝试截断它。以上是布局。中间还有很多单独的项目,但我很确定它们不相关。
-
甚至添加了额外的图片来展示它是如何缩小的。
标签: c# wpf user-interface grid stretch