問題タブ [mvvm-toolkit]

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 投票する
3 に答える
271 参照

wpf - Model クラスの INotifyPropertyChanged

Model クラス、ViewModel クラス、またはその両方に INotifyPropertyChanged を実装することは一般的に望ましいことですか? ビューモデルではなく、モデルのみに実装することは可能ですか? 不可能なモデルの場合、その理由

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

xaml - タイマーから PropertyChanged イベントを発生させると COMException が発生するのはなぜですか?

Raspberry Pi の下で実行される XAML を使用して、ユニバーサル Windows プラットフォーム アプリを開発していWindows 10 IoT Coreます。アプリは、I2C バス上の温度センサーを駆動します。センサークラスはMLX90614Thermometer. センサーは aDispatcherTimerを使用して 100 ミリ秒 (約) ごとに読み取り値を取得し、移動平均を更新します。移動平均の値が指定されたしきい値を超えて変化すると、センサーはイベントを発生させValueChanged、イベント引数に新しい値を提供します。

私の ViewModel クラス ではTemperatureSensorViewModel、センサーのイベントをサブスクライブし、それを使用して、およびValueChangedという名前のバインドされたプロパティを更新します。これらのプロパティは、XAML UI のテキスト ブロックにバインドされています。イベント ハンドラは次のとおりです。AmbientChannel1Channel2

Ambient...そして、これは...のサンプル データ バインディングです。

私はMVVM Light Toolkitを使用しているため、プロパティは次のように実装されています (Ambient表示されているだけですが、名前以外は同じです)。

MVVM Light Toolkit は、設定されているプロパティの通知Set()を自動的に発生させるメソッドを提供します。PropertyChanged

ボタンの押下に応答してセンサーから単一のサンプルを読み取った場合、これは正しく機能します。ただし、自動サンプリング モード (タイマー ベース) を有効にするとすぐに、スローが開始されますCOMExceptions。したがって、これはタイマーに関連するある種のスレッドの問題である必要があります。

ここで、私の理解が正しければ、ランタイムはPropertyChanged通知を UI スレッドに自動的にマーシャリングすることになっています。スタック トレースを見ると、そのように見えます。しかし、最終的にはCOMException. うーん。

何?ここで何が起こっているのかわかりません。誰が問題が何であるかを見ることができますか?

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

c# - MVVM Light ツールキットで MonthPicker Size を発行する

月ピッカーに奇妙な問題があります。初期化時の幅が非常に広いです。

MVVM Light Toolkit を使用していますが、それが問題を引き起こしているようです。

実際、標準の WPF アプリケーションでは、同じコードが機能します...

別のヒントとして、ポップアップ コントロールを使用しない場合、このコードは MVVM Light Toolkit で動作します。

これが私のコードです:

コードビハインドは次のとおりです。

そしてここに結果があります: ここに画像の説明を入力

空想は何もありません...私はしばらくの間それに苦労しています..どんな助けもいただければ幸いです!

前もって感謝します!