如何获取if语句是否可以调整矩形大小

时间:2019-07-14 12:49:04

标签: c# wpf xaml

我正在尝试编写一些代码,如果矩形大于画布大小,该代码将调整矩形的大小。用户输入高度和宽度,矩形立即显示在屏幕上。我希望矩形保持小于或等于其所在的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"/>

1 个答案:

答案 0 :(得分:0)

您可以在XAML上设置矩形的MaxWidth和MaxHeight属性:

<Rectangle x:Name="rect" MaxHeight="340" MaxWidth="200"></Rectangle>