3

我是 WPF 应用程序的绝对初学者,需要一些帮助。我要做的就是从 A 点到 B 点绘制一个矩形,并且能够检测何时单击该矩形。因此,当它被点击时,它变成黄色,再次点击时,它变成红色。

4

2 回答 2

7

有多种方法可以做到这一点。

  1. 向矩形添加一个单击处理程序,并从后面的代码中切换其颜色
  2. 将矩形的颜色绑定到视图模型属性,并使用委托命令在单击时设置该属性。

如果您刚开始使用 XAML,第一个是最简单的(尽管如果您想坚持 MVVM,建议使用 #2)。

 <Rectangle x:Name="rect" 
    Width="100" Height="100" Fill="Aquamarine" 
    MouseLeftButtonDown="Rectangle_MouseLeftButtonDown" />

和代码隐藏处理程序:

 bool toggle = false;

 private void Rectangle_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 {
     rect.Fill = new SolidColorBrush(toggle ? Colors.Aquamarine : Colors.DarkRed);
     toggle = !toggle;
 }
于 2012-11-21T00:48:45.447 回答
5

使用Rectangle控件。

<Rectangle
    Height="100"
    Width="100"
    MouseLeftButtonUp="Rectangle_MouseLeftButtonUp_1"

whereRectangle_MouseLeftButtonUp_1是包含类的事件处理程序。

请注意,除非 Rectangle 有背景,否则您必须单击边框。背景可以是白色的,但如果它是可点击的,它确实需要指定。

于 2012-11-21T00:49:05.157 回答