如何在WPF中绘制可点击的矩形

4

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


1
与论坛网站不同,我们在 [so] 上不使用“谢谢”、“感激任何帮助”或签名。请参阅“应该从帖子中删除‘Hi’、‘thanks’、标语和问候语吗? - John Saunders
1
约翰·桑德斯不知道那件事。 - FrostyFire
2个回答

8

有多种方法可以实现这个功能。

  1. 给矩形添加一个点击处理程序,从代码后台切换其颜色。
  2. 将矩形的颜色绑定到View Model属性,并使用Delegate Command在单击时设置属性。

如果您刚开始使用XAML,第一种方法最简单(尽管推荐使用第二种方法来遵循MVVM)。

 <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;
 }

谢谢,这正是我想要的。这会让我有个好的开始。+1 - FrostyFire

6
使用矩形控件。
<Rectangle
    Height="100"
    Width="100"
    MouseLeftButtonUp="Rectangle_MouseLeftButtonUp_1"

其中Rectangle_MouseLeftButtonUp_1是包含类上的事件处理程序。

请注意,除非矩形具有背景,否则您必须单击边框。背景可以是白色,但如果要进行单击,则需要指定背景。


谢谢您的帖子。虽然它没有像我标记为答案的那个那样详细,但它应该会帮助我入门。+1 - FrostyFire

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接