您可以使用网格向布局添加图层.这样,您可以缩放一组项目,并保持另一组不缩放.
<Grid>
<Viewbox>
<!-- Controls to zoom -->
</Viewbox>
<!-- Control to exclude from zoom -->
</Grid>
Run Code Online (Sandbox Code Playgroud)
XAML中视图框和其他控件的顺序取决于顶部显示的图层.
如果那不是你想做的,请发表评论,我会重新回答.
编辑您希望unzoomed控件相对于(0,0)定位Viewbox.在这种情况下会发生这种情况,因为网格的两个子节点都在单元格(0,0)中,这意味着它们的左上角是对齐的.你能举例说明你在XAML中有什么,以及它有什么问题(或许可以编辑原来的问题)?
这是一些尝试的XAML:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
Background="Green">
<Grid HorizontalAlignment="Center" VerticalAlignment="Center">
<Viewbox>
<Rectangle Fill="Yellow" Width="10" Height="10" />
</Viewbox>
<TextBlock>I am positioned at (0,0)</TextBlock>
<TextBlock Margin="50,50">I am positioned at (50,50)</TextBlock>
</Grid>
</Page>
Run Code Online (Sandbox Code Playgroud)
这给出了这样的布局:
http://img20.imageshack.us/img20/2045/layout1m.png
但请注意,当高度降低时,网格变得比视图框宽,因此内容的布局如下:
http://img20.imageshack.us/img20/9397/layout2i.png
我猜这不是你想要的.在这种情况下,您使用画布并执行以下操作:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
Background="Green">
<Grid HorizontalAlignment="Center" VerticalAlignment="Center">
<Viewbox>
<Rectangle Fill="Yellow" Width="10" Height="10" />
</Viewbox>
<Canvas>
<TextBlock>I am positioned at (0,0)</TextBlock>
<TextBlock Margin="50,50">I am positioned at (50,50)</TextBlock>
</Canvas>
</Grid>
</Page>
Run Code Online (Sandbox Code Playgroud)
看起来像这样:
http://img20.imageshack.us/img20/6743/layout3i.png
| 归档时间: |
|
| 查看次数: |
6505 次 |
| 最近记录: |