C#,WPF应用程序,最大化的时候,控件就不按窗口的比例进行缩放了,请问有什么办法可以有效解决这个问题么
3个回答
展开全部
根据你的图我写了个demo,为了例子看起来简单,我用Rectangle代替了你图中的控件哈。
<Grid x:Name="LayoutRoot">
<Grid Background="AliceBlue" Margin="50">
<Grid.RowDefinitions>
<RowDefinition Height="2*" />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<Rectangle Grid.Row="0" Grid.Column="0" Margin="5" Fill="Aqua"/>
<Rectangle Grid.Row="0" Grid.Column="1" Margin="5" Fill="Aqua"/>
<Rectangle Grid.Row="0" Grid.Column="2" Margin="5" Fill="Aqua"/>
<Rectangle Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Margin="5" Fill="Aqua"/>
<StackPanel Grid.Column="3" Grid.RowSpan="2">
<Button Width="60" Height="30" Margin="0 5">button</Button>
<Button Width="60" Height="30" Margin="0 5">button</Button>
<Button Width="60" Height="30" Margin="0 5">button</Button>
<Button Width="60" Height="30" Margin="0 5">button</Button>
<Button Width="60" Height="30" Margin="0 5">button</Button>
<Button Width="60" Height="30" Margin="0 5">button</Button>
<Button Width="60" Height="30" Margin="0 5">button</Button>
<Button Width="60" Height="30" Margin="0 5">button</Button>
</StackPanel>
<StackPanel Orientation="Horizontal" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="2" VerticalAlignment="Bottom">
<CheckBox>cb1</CheckBox>
<CheckBox>cb2</CheckBox>
<CheckBox>cb3</CheckBox>
</StackPanel>
</Grid>
</Grid>
<Grid x:Name="LayoutRoot">
<Grid Background="AliceBlue" Margin="50">
<Grid.RowDefinitions>
<RowDefinition Height="2*" />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<Rectangle Grid.Row="0" Grid.Column="0" Margin="5" Fill="Aqua"/>
<Rectangle Grid.Row="0" Grid.Column="1" Margin="5" Fill="Aqua"/>
<Rectangle Grid.Row="0" Grid.Column="2" Margin="5" Fill="Aqua"/>
<Rectangle Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Margin="5" Fill="Aqua"/>
<StackPanel Grid.Column="3" Grid.RowSpan="2">
<Button Width="60" Height="30" Margin="0 5">button</Button>
<Button Width="60" Height="30" Margin="0 5">button</Button>
<Button Width="60" Height="30" Margin="0 5">button</Button>
<Button Width="60" Height="30" Margin="0 5">button</Button>
<Button Width="60" Height="30" Margin="0 5">button</Button>
<Button Width="60" Height="30" Margin="0 5">button</Button>
<Button Width="60" Height="30" Margin="0 5">button</Button>
<Button Width="60" Height="30" Margin="0 5">button</Button>
</StackPanel>
<StackPanel Orientation="Horizontal" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="2" VerticalAlignment="Bottom">
<CheckBox>cb1</CheckBox>
<CheckBox>cb2</CheckBox>
<CheckBox>cb3</CheckBox>
</StackPanel>
</Grid>
</Grid>
追问
其实不是很懂demo是什么,能麻烦你解释一下吗?等这些事怎么添加的呀?我刚用WPF,不太懂,所以麻烦你解释一下吧,谢谢啊~
追答
我都敲代码的呀。。。
2013-05-06
展开全部
在窗体调整大小事件中重新编写控件的位置呢?
eg:
private void Form1_Resize(object sender, EventArgs e)
{
txt1.Top = this.Height / 20;
txt1.Left = this.Width / 10;
}
eg:
private void Form1_Resize(object sender, EventArgs e)
{
txt1.Top = this.Height / 20;
txt1.Left = this.Width / 10;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
具体一点,肯定是可以做到的,你举例。
更多追问追答
追问
比如啊,我的WPF窗体中有treeview,datagrid,button等控件,最大化之后就变得乱七八糟了,不是原来的比例。应该调一下属性就可以是么?不知道我有没有说清楚~
追答
没有说清楚,你要说明具体的,最好用图片说明你的需求,然后我发附件给你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询