0
所以我已经生成像这样的矩形阵列:更改矩形属性在C#WPF
int nRec = 3;
double sizeRec = 30.0;
Rectangle[,] recArray = new Rectangle[nRec, nRec];
for (int i = 0; i < nRec; i++)
{
for (int j = 0; j < nRec; j++)
{
recArray[i, j] = new Rectangle()
{
Width = sizeRec,
Height = sizeRec,
Fill = Brushes.Red,
Stroke = Brushes.DarkRed,
StrokeThickness = 1,
};
// Add to a canvas for example
recArray[i, j].MouseLeftButtonDown += (sender2, e2) => ClickEvent(sender2, e2, i, j);
front_canvas.Children.Add(recArray[i, j]);
Canvas.SetTop(recArray[i, j], sizeRec + sizeRec * i);
Canvas.SetLeft(recArray[i, j], sizeRec + sizeRec * j);
}
}
它们填充画布称为“front_canvas”上:
<Canvas HorizontalAlignment="Left" Height="305" Margin="0,0,-0.333,-13" VerticalAlignment="Top" Width="509" Name="front_canvas"/>
我想要在MouseLeftButtonDown上改变矩形的属性。例如,我想将填充属性更改为绿色。正如上面我的代码提示,我想我或许能够实现这一目标的东西,如:
private void ClickEvent(object sender, EventArgs e, int i, int j)
{
//Code to change Change rectangle properties:
}
理想我想避免使用XAML并希望任何指导社区可以提供。
好的,谢谢。您的解决方案适用于:'Rectangle rect =(Rectangle)sender;' – newsharp