所以基本上我有4个带有圆角的红色矩形,应该在我运行应用程序时出现。所有4的代码几乎相同。 问题只出现在前2位。然后第二个被剪掉了。
没有错误,没有编译或运行时异常只是不显示。
这是我的WPF代码
<Window x:Class="flashing_colors.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="1200" Width="1800">
<Grid>
<Rectangle Width="200" Height="700" RadiusX="25" RadiusY="25" Name="rect1" Margin="-400,184,800,185"></Rectangle>
<Rectangle Width="200" Height="700" RadiusX="25" RadiusY="25" Name="rect2" Margin="600,184,990,185"></Rectangle>
<Rectangle Width="200" Height="700" RadiusX="25" RadiusY="25" Name="rect3" Margin="1000,184,800,185"></Rectangle>
<Rectangle Width="200" Height="700" RadiusX="25" RadiusY="25" Name="rect4" Margin="1400,184,800,185"></Rectangle>
</Grid>
</Window>
这是我的C#代码。
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
rect1.Fill = new SolidColorBrush(Color.FromRgb(225, 75, 75));
rect2.Fill = new SolidColorBrush(Color.FromRgb(225, 75, 75));
rect3.Fill = new SolidColorBrush(Color.FromRgb(225, 75, 75));
rect4.Fill = new SolidColorBrush(Color.FromRgb(225, 75, 75));
}
}
以下是其显示内容的屏幕截图。请注意只有2个圆角矩形。
答案 0 :(得分:2)
由于您将Margin Left设置为1000而Right设置为800,所有窗口宽度都设置为1800,因此没有空间显示它,对于第三个矩形更改800到500,依此类推第三个矩形。我建议使用水平方向的StackPanel,而不是使用Margin。
<StackPanel Orientation="Horizontal">
<StackPanel.Resources>
<Style TargetType="Rectangle">
<Setter Property="Width" Value="200"/>
<Setter Property="Height" Value="700"/>
<Setter Property="RadiusX" Value="25"/>
<Setter Property="RadiusY" Value="25"/>
<Setter Property="Margin" Value="30,0,0,0"/>
<Setter Property="Fill" Value="CadetBlue"/>
</Style>
</StackPanel.Resources>
<Rectangle Name="rect1"/>
<Rectangle Name="rect2"/>
<Rectangle Name="rect3"/>
<Rectangle Name="rect4"/>
</StackPanel>