問題タブ [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.
c# - 変更時にモックがPropertyChangedをトリガーするようにする
私はRhinoMocksを使用していますが、実際のプロパティとして動作する必要があるプロパティを持つMockがあります。設定すると値が更新され、プロパティが変更されるとPropertyChangedがトリガーされます。
モックオブジェクトのインターフェースは、本質的に次のとおりです。
モックを作成するときに、PropertyBehaviorを設定します。これにより、偽の値が実際に更新されます。
しかし、値を更新しても、PropertyChangedはトリガーされません。現在、インターフェイスはINotifyPropertyChangedインターフェイスを実装していません。これはインターフェイスであるためです。PropertyChangedをトリガーするにはどうすればよいですか?
wpf - コンバーターを使用して DataContext に直接バインドされている場合の WPF バインディングの更新
通常、データバインドされたコントロールを「更新」する場合は、「PropertyChanged」イベントを使用して、データが舞台裏で変更されたことをインターフェイスに通知します。
たとえば、プロパティ「DisplayText」を使用してデータコンテキストにバインドされたテキストブロックを持つことができます
<TextBlock Text="{Binding Path=DisplayText}"/>
ここから、DataContext が PropertyName "DisplayText" で PropertyChanged イベントを発生させると、このテキストブロックのテキストが更新されます (バインディングのモードを変更していないと仮定します)。
ただし、データ コンテキストから離れた多くのプロパティを使用してコントロールの最終的なルック アンド フィールを決定する、より複雑なバインディングがあります。これを実現するために、データ コンテキストに直接バインドし、コンバーターを使用します。この場合、画像ソースを使用しています。
<Image Source="{Binding Converter={StaticResource ImageConverter}}"/>
ご覧のとおり、{Binding} をパスなしで使用してデータ コンテキストに直接バインドし、ImageConverter を使用して探している画像を選択します。しかし今、そのバインディングを更新するように伝える方法がありません (私が知っていることです)。「.」でpropertychangedイベントを上げてみました。機能しませんでした。
これは可能ですか?バインディングがアタッチできるプロパティに変換ロジックをラップする必要がありますか、またはバインディングをリフレッシュするように (バインディングを明示的にリフレッシュせずに) 指示する方法はありますか?
どんな助けでも大歓迎です。ありがとう!-アダム
.net - Timespan サブタイプに IPropertyChanged を最適に実装する方法は?
.NET (および WPF) では、のTimespan
ような変更イベントを含まないオブジェクトの変更を監視する必要がありますPropertyChanged
。この機能を追加する最良の方法は何でしょうか?
wpf - WPF DataBinding: 他の 2 つのプロパティを参照するプロパティへのバインド
基本的に、txtFullName という名前のテキスト ボックスに (一方向で) バインドするにはどうすればよいですか。最初は、ToString が "" を返すため、テキスト ボックス内のテキストはすべてクリア/空白になります。ただし、FirstName または LastName を変更しても、FullName に対するバインディングは更新されません。これを行う方法はありますか?
また、(フィールドだけでなく) メソッドにバインドする方法はありますか? つまり、バインドを直接 ToString() メソッドに設定し、FirstName または LastName が変更されたときに更新するようにしますか?
ああ、これを処理する何らかの一般的な方法があれば、それは非常に素晴らしいことです... FullName フィールドの属性や ToString メソッドの属性のように、変更を探すプロパティを指定します。
wpf - WPFの過剰なPropertyChangedイベント
通常、オブジェクトのプロパティセッターでは、次のようなPropertyChangedイベントを発生させることができます。
既存のコードベースでは、オブジェクトのすべてのプロパティが変更されたことを示すために、PropertyChangedEventArgsがnullで送信されているインスタンスが表示されます。これは非効率的であり、必要以上に多くのイベントがトリガーされることにつながるようです。また、オブジェクトが循環的に更新されるという問題も発生するようです。
これは今までに良い習慣ですか?
コード内のコメントはそれを正当化しようとします...
どんな考えでも大歓迎です。
よろしく、ファジー
wpf - WPF - ObservableCollection PropertyChangedイベント?
type のプロパティを持つオブジェクトがありますObservableCollection<bool>
。TwoWay バインディングを使用して、フォーム上のチェックボックスのリストにバインドされます。これに PropertyChanged 通知を追加して、特定の値が選択された場合に他の値が自動的に選択解除されるようにしたいと思います。これを行う方法はありますか?
ObservableCollection.PropertyChanged イベントは、コレクション内の値が変更されたときにトリガーされず、MVVM デザイン パターンを使用しています。
wpf - WPF/XAML で INotifyPropertyChanged を正しく使用する方法
コントロールにバインドしようとしているカスタム オブジェクトがあります。そのカスタム オブジェクトに INotifyPropertyChanged インターフェイスを実装しました。オブジェクトとそのオブジェクトのプロパティに正常にバインドされました。
私が理解できないのは、そこからどのように行くかです。私はこれに2日間取り組んでいますが、まだ機能させることができません。
私の仮定は、コントロールにバインドされたプロパティを変更すると、そのプロパティに設定された値がコントロールに表示されるということでした。ただし、プロパティをいくら変更しても、UI は初期値を超えて更新されることはありません。
INotifyPropertyChanged を次のように実装しました。 INotifyPropertyChanged を実装する基本クラス
したがって、私の基本クラスは次のとおりです。
上記のクラスから継承し、派生クラスで自分のプロパティでこれを行います。
私の XAML は次のようになります (省略版):
ウィンドウのデータ コンテキストが SizingProject というプロパティであることがわかります。SizingProject は派生型 (BindableObject から派生) であり、Name プロパティを持ち、PropertyChanged イベント ハンドラーを発生させます。
ウィンドウのコンストラクターで SizingProject を設定すると、その Name プロパティが設定されます。
これをテストするために、ウィンドウに、Name プロパティを元の値とは異なる値に設定するイベントを発生させるボタンもあります。ただし、name プロパティが変更されると、何も起こりません。私は BindableObject までさかのぼりましたが、PropertyChanged イベントは常に null に設定されているため、ハンドラーが設定および実行されることはありません。どうしてこれなの?
INotifyPropertyChanged を実装し、バインディングでその型を使用すると、WPF はそのイベント ハンドラーを自動的に設定し、正しい動作が発生すると思いましたか? 私にとって、私はその行動を見たことがありません。
私は問題を理解しました。私がしなければならなかったことは、プロパティ SizingProject の DependencyProperty を作成することでした。私がそれをした後、すべてがうまくいきました。
binding - PropertyChangedEventHandler PropertyChanged が null です
私は PropertyChangedEventHandler PropertyChanged を実装していますが、常に null です。プロパティ文字列は正しいドンノここでの問題は私が使用しているコードです
そしてxamlで
誰でも問題を知ることができますか?
mvvm - PropertyChangedEventHandler は FirePropertyChanged で null です
ViewModelBase から継承された EmployeeViewModel という名前のビューモデルがあります。これが ViewModelBase の実装です。
私の EmployeeViewModel には GridResults というプロパティ名があり、ビューのグリッドにバインドされています。これがプロパティ定義です。
EmployeeViewModel のコードのどこかに GridResults の値を設定すると、プロパティ変更イベントが発生し、
FirePropertyChanged(式>プロパティセレクター)
ただし、そのメソッド内では、その PropertyChangedEventHandler は常に null のままであり、メソッドの完全な実行を妨げます。最終的に、ビューのグリッドは、その基になるアイテムソースが変更されたことに気付かないままです。
私は何かが欠けていますか??
事前にありがとう
-K9
entity-framework - Entity Framework 4 - プロパティ セッターにロジックを挿入する方法は?
edmx: Descriptionのデータベースから自動生成されたプロパティがあります。次に、エンティティの "部分クラス" .cs ファイルを作成し、読み取り専用プロパティShortDescriptionを追加します。ShortDescription の getter は、単純に Description を処理します (改行、キャリッジ リターンなどを削除します)。
Description のセッターで ShortDescription のプロパティ変更通知を発生させるにはどうすればよいですか?
ありがとう!