2011-01-11 14 views
21

にWPFでプログラムイベントハンドラを追加する方法このWinフォーム命令のものは何ですか?1が行うことができますようにWinフォーム

更新:スライダの場合も同様です。そして、私はどのような名前空間を宣言すべきですか?

私のポイントはXAMLを使用しないことです。

答えて

17

このような何か...

this.btnTest.Click+=new RoutedEventHandler(btnTest_Click); 
+0

ような関数を作成する必要が

button1.AddHandler(Button.ClickEvent, new RoutedEventHandler(button1_Click)); 

もスライダーのために必要。ボタンとは違って見える – user310291

+3

本当にMSDN?その後、スライダのために私にURLをポイントします。 -1。 – user310291

0

WPFは、すなわち、それはまったく同じ考え方だ、新しい言語ではありません。変更できる唯一のものはデリゲート型です。そう、ええ、あなたは同じようにそれをやるでしょう。

+0

は私のためにそう思わない。たとえば、ボタンとスライダはwinformのようには見えません。スライダーの正しい構文を探しています。 – user310291

+0

構文の問題ではありません。 UI APIがWinFormsでもWPFでもC#を使用しています。正しいデリゲートタイプを割り当てていない可能性があります。あなたが受けているエラーを教えてください。 –

+0

@Ed Swangrenですが、WinformsからWPFに若干異なるライブラリの一部ではありませんか?私はwinformsとSilverlightのプログラミングだけで、実際には両方ともC#のコードビハインドではあるが、全く同じタスクでは構文とプロパティの名前が異なることを知っている。 WPFは異なるかもしれません。私は3人とも少し違ったライブラリを使っていたと思った。私は間違っているかもしれません。 – AmbiguousX

5

XAML側から新しいイベントを追加する場合は、IDEがほとんどの作業を行います。例えば

あなたは

<Button Name="button1" Click= 

を入力した場合、その後、IDEは、すべてのあなたの現在作成されたイベントのドロップダウンでポップアップ表示されます。

あなたは以前に作成されたイベントのいずれかを選択するか、「新規イベントハンドラ」を選択した場合は、「新しいイベントハンドラ」

を選択して、新しいものを作成することができますが、その後、VSは自動的にあなたのためのスケルトンを追加しますform.xaml.cs C#コードビハインド。既に作成されたスケルトンの中でクリックイベントが行うことを望むものを追加するだけです。

希望すると便利です。

+1

ええ、しかし、OPのような人は、UI抽象化レイヤーが故障したときに、どのように動作するかを実際に知るのに役立ちます。 –

+0

@Ed Swangren、それは間違いなく、上記のテクニックは私が私の小さなプログラミング経験でいつも使ってきたものであり、まだ失敗していないので、私はそれを続けます:) – AmbiguousX

+2

もちろん、それは私のものですどのように物事がカバーの下で働いているのか分かっているからです。残念ながら、抽象化は、それらを見ることができる人々によって最もよく使われます;) –

8

この試してみてください。そして、あなたが実際にこの

void button1_Click(object sender, RoutedEventArgs e) 
    { 
     throw new NotImplementedException(); 
    } 
関連する問題