我是WPF应用程序的绝对初学者,需要一些帮助。我要做的就是从 A 点到 B 点绘制一个矩形,并能够检测何时单击矩形。因此,当它被单击时,它会变成黄色,当再次单击时,它会变成红色。
有多种方法可以做到这一点。
- 向矩形添加单击处理程序,并从后面的代码中切换其颜色
- 将矩形的颜色绑定到视图模型属性,并使用委托命令在单击时设置该属性。
如果你刚开始使用 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;
}
使用 Rectangle
控件。
<Rectangle
Height="100"
Width="100"
MouseLeftButtonUp="Rectangle_MouseLeftButtonUp_1"
其中Rectangle_MouseLeftButtonUp_1
是包含类上的事件处理程序。
请注意,除非矩形有背景,否则您必须单击边框。背景可以是白色的,但如果它是可点击的,则需要指定它。