2017-03-07 62 views
0

MVVMアプリケーションにRadMapコントロールがあり、マップ上のあるポイントの座標を取得する必要があります。WPF MVVMでコントロールへの参照を取得するには?

MVVMを使用せずに、私は、次のコード使用してそれを行うことができます:質問はMVVMでそれを行う方法である

Location.GetCoordinates(this.map1, new Point(5, 5)); 

を?私はthis.map1を使用することはできません

+0

には、Coordinateを保持するradMapコントロールのDependencyプロパティがあります。その場合、ビューモデルにpocoオブジェクトを作成してxamlに配線します。 –

+0

ViewはVMへのユーザー入力を渡す役割を果たしますが、推奨される方法はバインディングですが、イベントモデルがVM内のデータに対して何もしない限り、イベントを処理してコードビハインドからVMにデータをプッシュしますMVVMには反対ではありませんが、好ましい解決策ではありません – MikeT

+0

MVVMの方法は、VMでコマンドを定義し、入力バインドを使用してMouseUpイベントをコマンドにバインドすることです。 – MikeT

答えて

0

質問には回答がありません。問題は、ViewModelでthis.map1を使用する方法、または同じ結果を得るために回避する方法です。

+0

上記のコメントは、 ViewModelのコントロールを直接参照することはありません。データバインディング(利用可能なものがない場合は、独自のプロパティを使用します)を使用します。 MVVMから離れることもできますし、しっかりと結合された "winformsスタイル"のコードを書くこともできますが、それはあなたの顔に耳を傾けて鼻を切ってしまいます。 – Peregrine

+0

私たちは他のサイトと少し違っています。これはディスカッションフォーラムではなく、 Q&Aサイトでは、回答のための回答スペースを予約しています。短い[ツアー]をご覧ください。あなたがどのように尋ねるか分かっているなら、すぐにコメントをする特権を得るでしょう。 –

関連する問題