問題タブ [eventtocommand]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - NullReferenceException をスローする TreeView の MvvmLight EventToCommand
まず、コード:
私は MvvmLight を使用しており、TreeView 内で現在選択されている項目を使用して、ViewModel で Command を呼び出したいと考えています。EventToCommand 動作を追加しようとするまで、これはすべて正常に機能していました。
ブロック内およびブロックを含むすべてを削除すると<i:Interaction.Triggers>
、NullReferenceException が発生しなくなりますが、アイテムを選択しても動作しません。
明確にするために、エラーは、NullReferenceException を含む TargetInvocationException を含む XamlParseException として現れています。EventToCommand を使用しようとしたのはこれが初めてです。
この例外の考えられる原因は何ですか?また、どうすれば修正できますか?
NullReferenceException スタック トレースは次のとおりです。
mvvm - MVVM Light: Blend なしで XAML に EventToCommand を追加する、より簡単な方法またはスニペット?
EventToCommand
クラスの実際の構文を教えてください。私が信じていることから、EventToCommand
クラスは Silverlight / WPF および WP7 で動作するため、ダウンする方が良い選択だと思います。
私が信じていることから、任意のクリック イベントを追加して に強制することができますViewModel
が、これを行う最善の方法を見つけるのに問題があります。
Blendなしで追加できることは知っていますが、利用可能なスニペットはありますか?
または、VS 2010 経由で追加する簡単な方法はありますか? ヘルプや、これに関する優れたチュートリアルを知っている人がいれば、それは素晴らしいことです。
wpf - WPFでコマンドよりもイベントを使用するのはいつですか?
こんにちは、最近 WPF を調べて、イベントとコマンドについて学び始めました。私は通常、「ビューモデル」でメソッドを実行させるボタンクリックでコマンドを使用します。
コマンドを使用して、ボタンを MouseOver イベントなどの他のイベントに反応させることは可能ですか? または、この場合は WPF イベントを使用しますか?
WPF イベントを使用する場合、イベント ハンドラーの実装はビュー モデル内のメソッドを呼び出すだけで問題が発生しないようにする必要がありますか?
c# - PreviewMouseLeftButtonDownCommand RelayCommand\EventToCommand が起動したときに、ItemsControl で選択された項目を見つける
私のアプリはwpf mvvmで、イベントにRelayCommand\EventToCommandバインディングを使用しています。私のアプリは、ListBox から ItemsControl への典型的なドラッグ アンド ドロップを行います (実際には、ItemsControl が上にあり、ドロップされた項目を保持しているイメージ コントロールです)。ListBox には、vm ObservableCollection が取り込まれます。また、ItemsControl は、ドロップした MyObj アイテムを挿入する ObservableCollection でもあります。
ListBox から項目をドラッグして、ItemsControl\image にドロップすると、すべて正常に動作します。PreviewMouseLeftButtonDownCommand では、System.Windows.Media.VisualTreeHelper を使用してビジュアル ツリーを再帰的に上に移動するので、ListBox からドラッグすると、ドラッグされている MyObj アイテムを見つけることができます。しかし、ItemsControl からアイテムをドラッグしようとすると、コードが機能しません。私が返すことができるのは、アイテム (ラベル) の DataTemplate 変換だけです。私の質問は次のとおりです。PreviewMouseLeftButtonDownCommand RelayCommand\EventToCommand が起動したときに、ItemsControl から選択したアイテムを取得するにはどうすればよいですか?
VM C#:
silverlight - MVVMLightEventToCommandとSilverlightDataForm-EventArgsとカスタムCommandParameterが必要です。可能?
DataForm
RoleViewModelオブジェクトのコレクションにバインドしています。のイベントにバインドされたMVVMLightのEventToCommand
動作を使用して、ロールが編集されたときにViewModelに通知しています。EditEnding
DataForm
さて、...ユーザーは役割を編集し、[OK]、[キャンセル]のいずれかをクリックするか、単に移動することができます。この情報は、 (OKビーイングと他のビーイング)のDataFormEditAction
プロパティに保持されます。DataFormEditEndedEventArgs
DataFormEditAction.Commit
DataFormEditAction.Cancel
PassEventArgsToCommand
問題は、コマンドの署名を作成するか、のを動作ののにRelayCommand<DataFormEditEndedEventArgs>
バインドして署名を作成するかを選択する必要があることです。両方が必要になります。CurrentItem
DataForm
CommandParameter
RelayCommand<RoleViewModel>
ユーザーが編集をキャンセルしたかどうかを知る必要がありEventArgs
ます。キャンセルしなかった場合は、データベースに保存するために新しいロールが必要です。
誰かがここで賢い提案がありますか?手を汚して、2つのパラメーターを使用して2番目の動作を作成できると思いますが、より洗練されたソリューションがある場合は、そうしません。
どんな助けでも大歓迎です。
前もって感謝します。
load - MVVMLight EventToCommand と Page Load イベントを使用して CommandParameter を渡しますか?
EventToCommand は、Load イベントでコマンド パラメーターを渡すことができません
ページまたはユーザー コントロールの Load イベントに関連付けられている場合、EventToCommand は ViewModel でハンドラーを正常に呼び出しますが、CommandParameter を渡しません。ただし、同じ XAML が別のイベント (ボタン クリックなど) に関連付けられている場合、コマンド ハンドラーはデータバインドされたデータをパラメーターとして受け取ります。Xaml:
<i:EventTrigger EventName="Loaded" SourceObject="{Binding ElementName=Control}">
<Command:EventToCommand x:Name="etcLoad"
Command="{Binding LoadCommand}"
CommandParameter="{Binding Target, ElementName=Control}" />
</i:EventTrigger>
ターゲットは、ビュー上の文字列 DP です。
VM コード:
コマンドは次のように割り当てられます。
問題は、ターゲット DP への割り当てまたは同様のものよりも後に行われるバインドにあることはほぼ確実です。この ASAP の解決策、または View から文字列を取得し、OnNavigateTo オーバーライドから文字列が割り当てられている ViewModel に文字列を取得する他の方法を見つけることに興味があります。目標は、「/Views/DisplayTabDetails?Tab=Tab1」などの URI を介して提供されるクエリ プロパティに基づいてタブを選択できるようにすることです。
mvvm - MVVM light EventToCommand: 選択したアイテムを取得する
アイテムをクリックできるツリービューがあります。MVVM ライト ツールキットと EventToCommand を使用していますが、どの項目が選択されたか知りたいです。これをビューモデルに渡すにはどうすればよいですか?
focus - EventToCommandは最初のGotFocusイベントで失敗します
現在のプロジェクトでMvvmデザインパターンの適用を開始し、使用したフレームワークはMvvmLightツールキットです。EventToCommandを使用して「GotFocus」イベントを処理するときに問題が発生しました。xamlファイルは次のようなものです。
「GotFocus」が起動されるたびに、ビューモデルでTestCommandを実行したいと思います。ただし、問題は、最初の「GotFocus」に対して「TestCommand」が実行されないことです(つまり、ウィンドウがロードされたとき)。デバッグしたところ、「GotFocus」イベントが実際に発生したのに、不明な理由でトリガーが呼び出されなかったことがわかりました。次に、「Window.Loaded」イベントハンドラーにフォーカスを設定しましたが、それでも失敗しました。
しかし、「Window.Activated」イベントハンドラーでフォーカスを設定すれば、問題ありません。
私は何が起こったのか非常に混乱しています。誰かがそれを詳細に説明できますか?
windows-phone-7 - ItemsControlTapイベントでのCommandParameterのバインド
ItemsControlを使用していますが、Tapコマンドで選択されたアイテムを特定したいと思います。私のxamlはここで定義されています:
これが私のビューモデルです:
コマンドするイベントは機能しますが、ItemSelectedメソッドに到達すると、myItemがNullになるか、それをキャストする例外が発生します(xamlでのCommandParameterの定義方法によって異なります)。
ListBoxを使用して設定すると、これを実行できますCommandParameter="{Binding SelectedItem, ElementName=MyItemsList"}
ItemsControlでこれを行う方法についてのアイデアはありますか?それとも、パフォーマンスの違いは、マンゴーの2つの違いをあまり大きくしませんか?
c# - MVVM-Light=>コマンドパラメーターとEventArgsをコマンドに渡す
Silverlight 5で使用して、イベントからコマンドへの動作でANDをViewModelにMVVM-Light Toolkit
渡す方法を見つけようとしています。Command Parameters
EventArgs
コマンドパラメーターとしてEventArgsを渡すことを提案する投稿を見つけましたが、私の場合は、ViewModelで両方を使用EventArgs
したいと思います。Command Parameter
誰でも助けることができますか?