您的位置:首页 > 移动开发

【WPF】Windows App 比例布局的实现

2015-09-24 14:52 232 查看
<Grid Padding="0,20,20,20">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" MaxWidth="200"/>    //此处的"1*"即是所占比例
<ColumnDefinition Width="8*" />
</Grid.ColumnDefinitions>
<view:Canvas x:Name="Canvas" Grid.Column="1"/>
<Grid Grid.Column="0">
<Grid.RowDefinitions>
<RowDefinition Height="1*" MaxHeight="160"/>
<RowDefinition Height="3*" />
<RowDefinition Height="1*" MaxHeight="160"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderThickness="1" BorderBrush="LightGray" MinWidth="20" >
<Button x:Name="Back" Click="Back_Click" Grid.Row="0" Background="Transparent" VerticalAlignment="Center" HorizontalAlignment="Center">
<StackPanel>
<Image Source="/Assets/back_normal.png" MaxWidth="100"/>
</StackPanel>
</Button>
</Border>
<Border Grid.Row="1" BorderThickness="1,0,1,0" BorderBrush="LightGray" MinWidth="20">
<StackPanel Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Center">
<Button x:Name="Pen" Background="Transparent" Click="Pen_Click">
<StackPanel>
<Image x:Name="PenImage" Source="/Assets/pen_selected.png" MaxWidth="100" SizeChanged="PenImage_SizeChanged"/>
</StackPanel>
</Button>
<Button x:Name="Eraser" Background="Transparent" Click="Eraser_Click">
<StackPanel>
<Image x:Name="EraserImage" Source="/Assets/eraser_normal.png" MaxWidth="100"/>
</StackPanel>
</Button>
<Button x:Name="Clear" Click="Clear_Click" Background="Transparent">
<StackPanel>
<Image Source="/Assets/clear_normal.png" MaxWidth="100"/>
</StackPanel>
</Button>
</StackPanel>
</Border>
<Border Grid.Row="2" BorderThickness="1" BorderBrush="LightGray" MinWidth="20">
<Button x:Name="Purchase" Click="Purchase_Click" Background="Transparent" VerticalAlignment="Center" HorizontalAlignment="Center">
<StackPanel>
<Image Source="/Assets/print_normal.png" MaxWidth="100"/>
</StackPanel>
</Button>
</Border>
</Grid>

</Grid>


【参考资料】:

1、StackPanel height percentage within a grid?

2、How to get StackPanel’s children to fill maximum space downward?

3、WPF: How to display an image at its original size?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: