我正在尝试编写一些代码,如果矩形大于画布大小,该代码将调整矩形的大小。用户输入高度和宽度,矩形立即显示在屏幕上。我希望矩形保持小于或等于其所在的340x200画布,但是我尝试过的if语句的任何组合都无法正常工作。
我尝试过各种版本的if语句..if / else语句..嵌套的if语句..
if (rect.Width > maxWidth || rect.Height > maxHeight)
{
if (rect.Width > maxWidth && rect.Height < maxHeight)
{
rect.Width = maxWidth;
rect.Height = (ycoord / xcoord) / maxWidth;
}
if (rect.Height > maxHeight && rect.Width < maxWidth)
{
rect.Height = maxHeight;
rect.Width = (xcoord / ycoord) * maxHeight;
}
if (rect.Height > maxHeight && rect.Width > MaxWidth)
{
rect.Width = (xcoord / ycoord) * maxHeight;
rect.Height = (ycoord / xcoord) / maxWidth;
}
else
{
rect.Height = ycoord;
rect.Width = xcoord;
}
这是用户输入尺寸的xaml:
<TreeViewItem Grid.Row="1" FontSize="12" Header="Width"/>
<TextBox Text="{Binding xcoord, UpdateSourceTrigger=PropertyChanged}" Name="x" Height="20" Width="40" Grid.Row="1" Grid.Column="2" />
<TreeViewItem Grid.Row="2" FontSize="12" Header="Height"/>
<TextBox Text="{Binding ycoord, UpdateSourceTrigger=PropertyChanged}" Name="y" Height="20" Width="40" Grid.Row="2" Grid.Column="2"/>
答案 0 :(得分:0)
您可以在XAML上设置矩形的MaxWidth和MaxHeight属性:
<Rectangle x:Name="rect" MaxHeight="340" MaxWidth="200"></Rectangle>