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"

ここRectangle_MouseLeftButtonUp_1で、は含まれているクラスのイベントハンドラーです。

長方形に背景がない限り、境界線をクリックする必要があることに注意してください。背景は白でもかまいませんが、クリック可能にする場合は指定する必要があります。

于 2012-11-21T00:49:05.157 に答える