保存后如何将原来的椭圆颜色更改为绿色
本文关键字:颜色 原来 保存 | 更新日期: 2023-09-27 18:25:02
我有5个红色的椭圆,用户将一次选择一个。现在我想在保存后将选定的椭圆更改为绿色。我该怎么做?
private void Right1_Click(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
nfingerIndex = 1;
}
private void Right2_Click(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
nfingerIndex = 2;
}
private void Right3_Click(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
nfingerIndex = 3;
}
private void Right4_Click(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
nfingerIndex = 4;
}
private void Right5_Click(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
nfingerIndex = 5;
}
椭圆没有背景属性。它们具有Fill属性,您可以使用此代码对其进行更改。
private void Right1_Click(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
nfingerIndex = 1;
((Ellipse)sender).Fill = new SolidColorBrush(Colors.Green);
}
此代码将更改单击的Ellipse的Fill属性。
如果我没有错的话,您已经在Ellipses中添加了Click事件。椭圆没有Click属性。您可以尝试MouseLeftButtonUp事件
这是我的问题的解决方案。我设法做到了像这个
private void invokeControlColour(int FingerIndex)
{
try
{
switch (FingerIndex)
{
case 1:
{
Right1.Fill = Brushes.Green;
break;
}
case 2:
{
Right2.Fill = Brushes.Green;
break;
}
case 3:
{
Right3.Fill = Brushes.Green;
break;
}
case 4:
{
Right4.Fill = Brushes.Green;
break;
}
case 5:
{
Right5.Fill = Brushes.Green;
break;
}
并像这个一样调用它
Dispatcher.Invoke(new Action(() => invokeControlColour(nfingerIndex)));