問題タブ [multibinding]
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.
textbox - UpdateSourceTrigger=PropertyChanged の TextBox のテキストは、テキスト入力の強制によってソース値が変更されない場合に更新されません。
TextプロパティにTwoWay MultiBindingがあり、 UpdateSourceTrigger がPropertyChangedに設定されているテキスト ボックスがあります。最初のBindingは、値を小数点以下 1 桁に丸めるPropertyChangedCallBack関数を持つ依存関係プロパティ ( Value )に対するものです。
テキスト ボックスの目的は、テキスト ボックスがフォーカスを失ったときではなく、ユーザーが入力したときに丸めを実行することです。そのため、 UpdateSourceTriggerがPropertyChangedに設定されています。
私が抱えている問題は、値が変更されないテキストが入力された場合、 Textプロパティと値が同期しなくなることです。丸め操作によってValueが変更された場合にのみ、 Textがその場で更新されます。たとえば、TextとValueが両方とも 123.4 で、ユーザーがこの後に 1 を入力した場合、Valueは同じ値 (123.4) に丸められますが、Textは 123.41 を示します。ただし、4 の後に 9 を入力すると、Valueは 123.5 に切り上げられます。この実際の変更により、Textは同じ (123.5) に更新されます。
ソースが最後のトリガーから変更されていない場合でも、テキスト ボックスをソースから強制的に更新する方法はありますか? 使用してみましたが、これはUpdateSourceTriggerがExplicitに設定されてBindingExpressionBase.UpdateTarget()
いる場合にのみ機能します。これは、 UpdateTargetを呼び出すことができる適切な時間 ( TextInputハンドラーなど)の前に値が更新されないため、使用できません。バインドされたValueからText値を明示的に更新する、一時的にValueを実際に変更して更新を呼び出すなどの他の方法を試しましたが、これらの「ハック」は機能しないか、他の問題を引き起こします。
どんな助けでも大歓迎です。
コードは以下です。
XAML スニペット
C# スニペット
コンバータークラスが必要
wpf - WPF-遅延マルチバインディング
私は次のようなマルチバインディングを持っています:
また、両方のバインディングでIsMouseOverがfalseになり、VisibilityがCollapsedに設定されるまでの間に遅延を追加できるようにしたいと思います。
このDelayBindingの実装を見つけました:http: //www.paulstovell.com/wpf-delaybinding
しかし、それはMultiBindingでは機能せず、MultiBindingで機能するものを作成する方法を理解できませんでした。
コードビハインドのイベントでVisibilityに変更を加えるオプションはありますが、それは機能しますが、バインディングシステムを介してこれを行う方法があれば便利です。
マルチバインディングに遅延を追加する方法はありますか?
編集:レイ、あなたのクラスをコンパイルして実行させるために、私はいくつかの修正をしなければなりませんでした。ただし、更新が伝播されていないため、まだ問題があります。ターゲットプロパティを更新するのは1回だけのようです。
EDIT2:Rayのコードを機能させることができませんでしたが、機能するコードにつながるため、回答としてマークしました。私が使用したコードについては、以下の私の答えを参照してください。
wpf - エキスパンダー ヘッダーにマルチバインディングとイメージを設定するにはどうすればよいですか
この問題を解決するのを手伝ってくれるかもしれません。エキスパンダーのヘッダーに Text-Multibinding と画像を表示したいと考えています。
これは、エキスパンダーの単純化されたコーディングです。
そこに画像を設定するにはどうすればよいですか?
前もって感謝します!
c# - StringFormatとラベル付きマルチバインディング
StringFormatを使用して次のようなことをしたいと思います:
ただし、それは機能せず、代わりにこのエラーが発生しました:
有効なコンバーターがないため、マルチバインディングが失敗しました。MultiBindingExpression:target要素は'Label'(Name ='myLabel');です。ターゲットプロパティは「コンテンツ」(タイプ「オブジェクト」)です
このコードを機能させる方法はありますか?
wpf - WPF- How can I bind to SelectedValue properties of two Listboxes?
I need to do it in a way that the binding target is given the value of the most recently changed SelectedValue.
wpf - WPF VB.NET RectangleGeometry Rect 構造マルチバインディング
完全に機能する次の XAML があります (myRectConverter クラスと共に)。唯一の問題は、アプリケーションで動的に生成できるように、これを VB.NET コードに変換する必要があることです。
これが私がこれまでに持っているものです:
これを機能させる方法を知っている人はいますか?
ありがとう
ベン
wpf - IMultiValueConverter の値は問題ありませんが、CommandParameter は null です
IMultiValueConverter を介してコマンドに (コマンド パラメーターとして) いくつかの値を渡そうとしています。値がコンバーターを通過するときは正しいのですが、Can_Execute() および Execute() コマンドが呼び出されると、null オブジェクトの配列が取得されます。何か案は?
Xaml:
IMultiValueConverter クラス:
MultiBinding とコンバーターを使用していないときは、コードは問題なく機能しましたが、コマンドに追加情報を渡すことができるように、MultiBinding が必要です。
wpf - IMultiValueConverter + MultiBinding-データバインドされた値の逆算術計算?
奇妙なタイトルの謝罪。私はそれを他に置く方法を知りませんでした。
私が持っているのは3つのTextBoxesデータです-いくつかの値にバインドされています。
私がする必要があるのは、他の2つのテキストボックスの計算の結果として自動的に計算されるTextBoxの1つの値を持つことです。
いくつかのグーグルの後で、私はIMultiValueConverterインターフェースを使用することが私の問題を解決するはずであることに気づきました。します。しかし、1つの方法だけです。
例えば:
TextBox 1 * TextBox 2 = TextBox 3
しかし、その逆も当てはまります。
TextBox 3 / TextBox 2 = TextBox 1
後者は私が完了するのに苦労しているものです。私が何をしても、逆の計算は固執しません。
それぞれ2つのTextBoxに2つのIMultiValueConvertersを実装しました(2つの異なる計算のため)。
コンバーター1:
エンドクラス
コンバーター2:
エンドクラス
ConvertBackメソッドの戻り値がNothingに設定されていることがわかります。これは、valueパラメータを返すたびに、文字列から1次元配列に変換できないという例外が発生するためです。
私は何が間違っているのですか?
どんな助けでも大歓迎です。
前もって感謝します。
PS私はコンバーターにかなり慣れていません。私は最近それをいじり始めたばかりです。
wpf - マルチバインディングでテキスト検索を行うことはできますか
mvvm-wpfアプリケーションに以下のコンボボックスがあります。これに「テキスト検索」を実装する必要があります(マルチバインディングとともに)。誰か助けてくれませんか。
wpf - テキストボックスのデフォルトテキストを避けるには?
以下に示すように、マルチバインディング usingStringFormat を使用するテキストボックスがあります。ただし、デフォルト値は {DependencyProperty.UnsetValue},{DependencyProperty.UnsetValue}として表示されます。
これを回避するには?
私を助けてください。