問題タブ [wvvm]

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.

0 投票する
1 に答える
975 参照

c# - XAMLと一緒にコードビハインドを動的にロードしますか?

以前に尋ねたこの質問に関連して、XAMLファイルとペアになっている分離コードファイルを動的にロードすることも可能かどうか疑問に思います。このように機能するのでしょうか、それとも両方をDLLにコンパイルする方がよいのでしょうか。

ありがとう!

0 投票する
2 に答える
155 参照

silverlight - MVVM ViewModel を取得してビューにバインドする

次のコードがあります (オブジェクト名が変更されているため、構文/スペルミスは無視されます)。

これが私のページのコードビハインドにあるコードです。

最後に、私の xaml がどのように見えるかのサンプルを次に示します。

ここで私が間違っていることはありますか?

0 投票する
1 に答える
859 参照

.net - WPF、WVVM、データバインディング、および ResourceDictionaries

一種のメイン コンテンツ エリア (MainContent) を含むビュー (MainView) があります。ビューは、対応するビューモデル (MainViewModel) によって支えられています。もちろん、メイン コンテンツはアプリケーションの現在の状態に基づいて変化し、ViewModel でプロパティ (CurrentPrimaryViewModel) として表されます。MainContent のコンテンツは、XAML で次のように CurrentPrimaryViewModel にバインドされます。

ViewModel->View マッピング DataTemplates の束を含む ResourceDictionary があります。したがって、CurrentPrimaryViewModel が XViewModel タイプの場合、XView に解決されます。

これはすべて機能します。

問題は、CurrentPrimaryViewModel が変更されるたびに新しいビューが作成されることです。私が望むのは、適切にマップされた View の DataContext を正しい ViewModel に変更し、その View を MainContent にすることです。基本的にCardStackが好きですか?Java のレイアウト、またはタブが表示されない TabControl。

この状況を処理するための適切な手法は何ですか? MainContent ラッパーの下にさまざまなビューを作成し、それらの可視性または Z オーダーを切り替える必要がありますか? これに適したパターンはありますか?これを実現するには、MainView と MainViewModel の間で何をバインドする必要がありますか?

0 投票する
2 に答える
716 参照

wpf - 複数のビューモデルからステータス バーを更新するにはどうすればよいですか?

ステータスバーと複数のユーザー コントロールを含む MainWindow があります。各ユーザー コントロールにはビューモデルがあります。複数のビューモデルからステータスバーのテキストをバインド/更新するにはどうすればよいですか?

0 投票する
1 に答える
333 参照

silverlight - Silverlight コントロールをビュー モデル要素にバインドしますか?

私が持っているとしましょう:

コントロールのインスタンスを ViewModel にバインドできますか、それともコード ビハインドのフープをジャンプして結合し続ける必要がありますか?

これが ViewModel を View に結合していることは知っていますが、それには正当な理由があります。

0 投票する
3 に答える
458 参照

wpf - MVVM-WPFデスクトップ

MVVMの学習を始めたばかりです。同じビュー/ページの複数のインスタンスを追加するタブコントロールがあります

同じビューはそれぞれ異なるデータを処理しますが、URIが同じであるため、すべてのタブに同じビューが表示され、変更が各タブに反映されます。そうではないはずです。それらごとに個別のビューモデルを使用する必要がありますか?どんな例でも大いに役立つでしょう。

0 投票する
0 に答える
971 参照

wpf - 複数の進行状況バーのバインド

以下のスクリーンショットを参照すると、進行状況バーのダウンロードを表す次のビューとビューモデルのセットアップがあります。このダウンロードのコレクションに複数のダウンロードを追加すると、ダウンロード 1 がダウンロード 2 の Progress() パブリック プロパティを上書きするようです。

以下の例は、ダウンロード 1 が 1MB をダウンロードしており、最初に終了し、5MB をダウンロードしているダウンロード 2 と比較した場合です。ダウンロード 1 が終了すると、ダウンロード 2 (以下の hello2 の例) の進行状況バーはそこで停止しますが、バイトは 5MB に達するまでバックグラウンドでダウンロードされ続けます。

ダウンロード 1 がダウンロード 2 のプログレス バー UI に干渉しないようにコードを変更するにはどうすればよいですか。Progress() を非公開に変更しようとしましたが、両方の進行状況バー UI が表示されません

意見

DownloadAppViewModel

ここに画像の説明を入力

0 投票する
3 に答える
775 参照

c# - データグリッド xaml MVVM スタイルを更新する方法

私はこのMVVMのアイデアに非常に慣れていません。最初のMVVMアプリケーションを作成して足を濡らそうとしていました。少し進行しましたが、進行中に障害物にぶつかりました。私の質問は、コードビハインドで簡単に対処できる非常に基本的な基本的な質問ですが、私が推測する疎結合の原則に違反しているため、そうすることはお勧めできません。だから、これは私が持っている問題です:

私のモデル:

私のビューモデル:

viewModel は INotifyPropertyChanged を実装し、ICommand インターフェイスを実装するクラス RelayCommand を使用します。

私の見解は次のとおりです。

F5 キーを押すと、アプリケーションが実行され、2 つの初期レコードが表示されました。 ここに画像の説明を入力

ただし、追加ボタンを押すと、新しいレコードが内部的に追加されたのに、データグリッドが更新されていないことがわかりました。データグリッドを何らかの形で更新する必要があることは知っていますが、MVVM が処理するはずの方法でグリッドを更新するように指示する方法がわかりません。私の現在のコードビハインドはそれと同じくらい簡単です:

私がマイクロソフトのサイトから読んだドキュメントによると、それを正しく理解している場合、RaisePropertyChange は変更イベントが発生したことを示すことになっています。助けてください。

0 投票する
1 に答える
498 参照

xaml - Windows Phone 8.1 のレイアウト

次のコードがあります。

これにより、返そうとしているすべてのデータが得られますが、必要なレイアウトは得られません。私は取得しています(括弧内は入札プロパティです:

私が探しているとき:

明らかに、ListView を使用するのは間違っています。個々のラウンドでは機能するかもしれませんが、フォーメーションを 1 行に表示することはできません。主に、この時点で必要なデータを表示することを心配していましたが、自分がどのコントロールであるかがわかりません。私が望む結果を得た後。

0 投票する
1 に答える
1947 参照

c# - WPF C# でデータバインディングを使用してコンボ ボックスの選択したインデックスを変更する

Winformsからへの変換WPFを c# で行おうとしています。と に少し苦労していWVVMますdata binding。すべてが連携して機能する方法を完全に把握していないことは認めますが、もっと練習する必要があると思います。

codeproject に関するこの記事を使用して、ローカル アドレス帳アプリケーションを WinForms から WPF に変換する方法を理解しました。

int と string を使用してデータ バインディングを正常に機能させることができますが、ComboBox に苦労しています。データは xml ファイルに保存され、連絡先クラスに文字列および int として保存されます。ComboBox は、リスト ボックスから場所が選択されたときに自動更新する必要があります。これはすべて、ユーザーのカスタム情報を許可するプロパティに対して機能しています。この特定の設定は、事前設定値のドロップダウンである必要があります。

文字列を変換し、SelectedIndex[] プロパティをデータ バインディングを介してコンボボックスに渡すにはどうすればよいですか?

テキスト ボックスの文字列生成で使用される余分な作業コードの一部を削除して、一部をクリーンアップしました。

XAML

Contact.cs

mainviewModel.cs