問題タブ [propertychanged]

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 に答える
2482 参照

c# - プロパティが変更されたMVVMの2つの値の結果を計算します

MVVMで次の簡単な式で「NetAmount」を計算しようとしています

GrossAmount+Carriage-割引=NetAmount

私はMVVMLightToolkitを使用しており、次のようにプロパティを宣言しています

これらのプロパティをXAMLで次のようなテキストボックスにバインドします。

NetAmountそして、次のようにテキストブロックをプロパティにバインドします。

ViewModelはSalesOrderViewModelです。

NetAmountテキストボックスの値のいずれかが変更されたときにプロパティが変更されるように、上記の式をどこに配置すればよいかわかりません。

私はC#に不慣れではありませんが、MVVMとPropertyChangedイベントに不慣れです。私が間違っている非常に小さな愚かなことがいくつかあることを知っていますが、頭を悩ませることはできません。

どんな助けでも大歓迎です。

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

silverlight - Silverlight4でUpdateSourceTrigger=PropertyChangedはいつから使用されますか?

私はSilverlight4で開発しており、やがてバインディングのUpdateSourceTriggerプロパティにデフォルトと明示の2つの選択肢があることに慣れました。しかし、今日、私は「PropertyChanged」を選択することもできることを知りました。これは非常に歓迎されていますが...予期しないことです。プロジェクトのプロパティで「Silverlight4」を引き続き表示できますが、どういうわけか、Silverlight 5の機能を正常に使用できるようになります...これについて誰かが説明していますか?

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

wpf - WPFValidationRulesはPropertyChangedを無効にします

ビューモデルでプロパティが変更された次のテキストボックスがあります。Binding.ValidationRulesを挿入し、間違った値を挿入すると、propertychangedイベントがトリガーされず、その理由がわかりません。何か助けはありますか?

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

mvvm - RaisePropertyChanged で何ができますか?

Windows Phone Silverlight アプリケーションで MVVM Light を使用しています。

RaisePropertyChanged がどのように機能するかはよくわかりません。このようなコードで説明しましょう

RaisePropertyChanged("SelectedRecipe") が呼び出されるとどうなりますか?

コードを実行するための新しいメソッドへの呼び出しなどを期待していますが、見つけた(いくつかの)例で同様のものを見つけることができません。それで、それはどのように機能しますか?

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

c# - ObservableCollection内のアイテムで特定のフィールドが変更されるたびに通知を受ける方法は?

Statusan のプロパティEventが変更されたとします。OnPropertyChanged("Status")呼ばれますよね?

しかし、この変更についてもそのコレクションactivitiesに通知したいと思います。Event

何か方法はありますか??

再開しようとしています: このシナリオは上記で説明されています。あるイベントの変化を想像してみてください。このイベントの親アクティビティを内部に持つコレクション アクティビティに、この変更について通知する必要があります。そのため、インターフェイスのどこかに表示されたイベントを更新するメソッドを呼び出すことができます。このインターフェイスには、アクティビティ コレクションが表示されます。

このため、コレクションにも通知する必要があります。

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

c# - Reflection を使用してプロパティが変更されたときにイベントを発生させる

私はC#で作業しており、Reflection(いくつかの個人的な理由で)使用してのみアクセスできるオブジェクトがあります。そのため、プロパティの 1 つに値を設定する必要がある場合は、次のようにします。

そして、その値を取得するには、メソッドを使用しますGetValue

私の質問は:プロパティがリフレクションを使用して変更されたときにイベントを発生させる方法はありますか?

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

c# - バインドされたアニメーションが複数回再生される

私は MVVM を使用していますが、アニメーションをトリガーするボタンが必要な状況になりました。だから私はそれに EventTrigger を設定し、このアニメーションを実行します:

問題は、そのアニメーションを複数回再生したくないことです。したがって、最初のボタンを押した後は 0 から 150 になり、その後のすべてのクリックでは表示されないため、150 から 150 になるはず
です。ViewModel には、0 に設定されたプロパティ TooltipPosition があります。コマンドを作成しましたこのプロパティを 150 に設定して呼び出すボタンの場合。

問題は、このプロパティが 2 回目のクリック後に変更されるため、このアニメーションが 2 回再生されることです。

どうすれば修正できますか?

-編集-

ええ、申し訳ありませんが、すべての情報を含めませんでした。そのうちの 1 つだけが表示されるように、多くのオブジェクトをアニメーション化しようとしています。したがって、ユーザーが GUI でオブジェクトの選択を変更すると、アニメーションは 0 から 150 に再び開始する必要があります。そして明らかに、要素 A がアニメーション化され、次に B、そして再び A がアニメーション化された場合、このアニメーションは表示されません。

-編集2-

TextBlock の Width をアニメーション化します。問題は、複数の (バインディング データ) TextBlocks があり、いつでも 1 つだけ、または 1 つも表示されないようにすることです。したがって、すべての TextBlock の Width プロパティをバインドし、アニメーション化するので、基本的にすべてがこのアニメーションの影響を受けます。しかし、そのうちの 1 つしか表示されない可能性があるため、うまく機能します。

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

c# - DataContextを設定した後のPropertyChangedイベントnull

ビューのコンストラクターにあるビューのDataContextを、標準的なものであるViewModelのインスタンスに設定しています。その後まもなく、私のViewModelが正しくキャッチしたイベントアグリゲーターからUPDATE_RECENT_DOCUMENTS_LISTイベントが発生します。プロパティが変更され、onPropertyChangedメソッドが呼び出されますが、PropertyChangedイベントがnullであるため、失敗します。

次に行うのは、 CREATE_PROJECTイベントを発生させるUIへのアクションであり、同じViewModelがイベントを受信します。ただし、PropertyChangedイベントはnullではなくなり、すべてが期待どおりに機能します。

DataContextを設定してからPropertyChangedイベントに登録するまでに経過する必要のある特定の時間はありますか?PropertyChangedイベントがnullにならないようにするために待機できるイベントはありますか?

また、Prismを統合し、非常に便利なEventAggregatorを使用した直後に、標準の.NETイベントを使用してこの問題に遭遇することはありませんでした。

簡潔にするためにViewXAMLを省略して、ViewとViewModelの背後にあるコードを示しています。

ToolBarView.xaml.cs:

ToolBarViewModel.cs

}

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

c# - PropertyChanged イベント ハンドラーを ObservableCollection 所有者に割り当てる方法

ObservableCollection の所有者内で、ObservableCollection 内の項目の PropertyChanged イベントを処理する必要があります。以下よりもエレガントな方法が必要です。

MyViewModelPropertyChanged イベント ハンドラーを LoadMyViewModels に渡したいので、コレクションを 2 回 (読み込み時とイベント割り当て時に 1 回) トラバースする必要はありません。

MyViewModelPropertyChanged は、UI に反映される含まれているビューのプロパティを設定します (コレクションは TreeView にバインドされており、アイテムがチェックされているかどうかに基づいて UI のフィールドを有効/無効にする必要があります)。

引用された投稿のすべてではないにしても、ほとんど見てきましたが、少し迷っています。

上記のコードは必要なことを実行しますが、もっと良い方法があることはわかっています。適切なリファレンスまたはコード サンプルを引用してください。

ありがとう。