我有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;
}
答案 0 :(得分:0)
Ellipses没有Background属性。它们具有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事件。 Ellipses没有Click属性。您可以尝试MouseLeftButtonUp事件。
答案 1 :(得分:0)
这是我的问题的解决方案。我设法像这样做了
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)));