問題タブ [imultivalueconverter]
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.
.net - IMultiValueConverter を使用して複数の CommandParameter を viewModel に渡す
次のコードがあります。
以下は PassThroughConverter のコードです。
戻り値の行にヒットするとすぐにデバッグすると、正しい値が配列にありますが、filtergrid コマンドをトリガーするボタンを押すと、返される値は両方とも null ですか? 誰でも助けることができます。ありがとうございました。
wpf - 2 つのコントロールを 1 つのフィールドにバインドし、ConvertBack の 2 つのコントロール値にアクセスするにはどうすればよいですか?
DataGridTemplateColumn DataTemplate で、2 つのコントロールを "[name]:[value]" 形式の文字列フィールドにバインドします。つまり、文字列はコロン ":" で区切られます。コントロール a) を [name] 部分にバインドし、コントロール b) を値部分にバインドする必要があります。
IValueConverter を使用して文字列を分割して表示することに成功しました。
そしてXAML:
しかし、データは Textboxes で編集される可能性があるため、ConvertBack で 2 つの TextBox 値にアクセスして再度結合できるようにするにはどうすればよいですか?
c# - 親参照を渡すコマンドパラメータ
WPFツリービューがあり、子ノードコンテキストで親ノードの参照が必要です。メニューコマンド。以下のXAMLでは、メンバーコマンドパラメーターでAの参照を渡す必要があります
XAML:
コンバータ:
textbox - MultiBinding を使用してフォーカスされたときに TextBox の異なる形式がソースを更新しない
私がやりたいことは簡単です。TextBox にフォーカスがある場合は 1 つの書式を表示し、フォーカスがない場合は別の書式を表示します。私の場合、フォーカスされていないときは数値を 3 桁に丸めていますが、編集のためにフォーカスされているときは実際の数値全体を表示しています。
マルチバインディングを使用したかなり単純なソリューションがあり、ほとんどそこにいるような気がします。すべてが期待どおりに機能し、即時ウィンドウにエラーはありませんが、バインディングはソースを更新しません。
このスタイルを使用してバインディングを渡し、TextBox にフォーカスがあるかどうかをコンバーターに渡します。
使用例:
そして多値コンバーターはこちら。
c# - TextBox:doubleにバインドされ、IMultiValueConverterを介して変換されます:ViewModelで値が変更されても更新されません
Caliburn.Microを使用しています。
私のビューには、ViewModelのXの値を変更TextBox
するBindedtodouble X
とaがあります。Button
私の目標は、表示される小数点以下の桁数を制限することです。この番号は、アプリケーションで構成可能であるため、AnObjectのプロパティとして使用できます。したがって、私はIMultiValueConverter
:を定義しました
そして私のTextBoxを次のように定義しました:
機能: Xの初期値であるゼロは正しくフォーマットされています。
動作しないもの:ボタンが押されたときに、新しい値がテキストボックスに表示されていません。
IMultiValueConverterを使用しない提案も歓迎します。
c# - IMultiValueConverter を使用して DataGridColumn にバインドすると問題が発生するが、同様の IValueConverter を使用すると問題が発生する
それぞれバインディングを持つ 2 つの Datagrid チェックボックス列があります。
バインディングは、ボックスがチェックされた日時を単に db フィールドに書き込み、チェックされてい"Required"
ない場合は null を書き込みます。
最初のチェックボックスでは、次のコンバーターですべてがうまく機能します。
最後の列では、日付と時刻を 2 つの異なるフィールド"Required_Date"
と"Required_Time" (String)
. それを処理するために、次のものIMultiConverter
が作成されました。
初期ロードでは、列は良好に見えます。列には、該当するすべてのセルがチェックされています。ただし、値をチェック/チェック解除すると、次のバインディング エラーが発生します。
さらに、セルのチェックを外すと、セルのチェックが正しく解除されず、コンバーターのいくつかのブレークポイントから、値が次のように入力されていることに気付きますDependencyProperty.Unset
(おそらくバインド警告が原因です)。
(9-30-12)
コードプレックスのコメントで、より有望なリードを見つけました。
「MultiBindings が機能しない理由は、DataGridHelper.UpdateSource が GetBindingExpressionBase ではなく GetBindingExpression を使用しているためです。これを変更すると、複数の優先バインディングが機能するはずです。」
更新を設定して更新を呼び出すイベントをExplicit
作成しようとしましたが、DataGridColumn が更新オプションを無視していると思います。DataGrid_EndCellEdit
BindingBaseExpression
(10-12-12)
それでも運が悪いので、うまくBindingBaseExpression
いかなかった。明らかに、IMultiValueCOnverter
バインディングは奇妙なことをしています。
c# - IMultiValueConverterにGUIDを渡す
telerik:RadMenuItemのvisibilityプロパティをバインドするマルチバリューコンバーターを作成しました。この右クリックメニューは、Telerikカレンダーコントロールに移動する予定の中にあります。ControlID(使用しているフレームワークからアタッチされたプロパティ)を、パラメーターとして作成したIMultiValueConverterに渡します。そこで、Guid(コンバーターのオブジェクト配列の2番目の値として入力される)を渡し、それをキャストして値を取得し、評価を実行できるようにします。WPFは私の強みではなく、多くのことを試した後、バインディングを接続できないようです。
ControlIDの内容をマルチバリューコンバーターに正常に渡すために、2番目のBindingタグに何が欠けていますか?ありがとう!
wpf - マルチバインディングConvertBackの問題
別のプロジェクトで発生している問題を解決しようとすると、問題を再現するために次の例を作成しました。
ユーザーがスライダーまたはテキストボックスを介して新しい値を入力すると、それらの値はコンバーターを介して「ConvertedBack」になり、ソースが更新されるという考え方です。InternalRepのプロパティが書き込まれているが、InternalRepPropertyのbindexpressionに通知していないため、これは表示されていないようです。
この問題を解決するための最善の方法は何ですか?
私が試した1つの方法は、スライダーのValueChangedイベントを処理することでしたが、これにより、コンバーターが... ConvertBack 、 Convert 、 ConvertBack 、 Convertの順になりました。理由はわかりません。
ユーザーが値を変更するとき、ソースを更新するためにConvertBackのみを使用するコンバーターが必要ですが、他には何も必要ありません。これは可能ですか?
TextSplitter XAML
TextSplitter C#
MainWindow XAML
メインウィンドウコード
wpf - MultiConverter を使用したマルチバインドにより、DependencyProperty.UnsetValue が生成されます
のリストがありMyItem
ます。このオブジェクトは、幅、高さ、色などのプロパティを持つ形状を表します。Alpha
コンバーターを使用して、オブジェクトが選択されている場合 (不透明度を変更したくない場合) 、塗りつぶしの色を (255, r, g, b) から ( , r, g, b) に変更しようとしています。Alpha
(double) ビューモデル内に存在します。
DependencyProperty.UnsetValue
私の問題は、私が何を与えても、コンバーターに送信される両方の値が に設定されることです。のみを指定Path
すると、ビューモデルにバインドされると予想されますが、そうではありません。明らかに、私はここで何か間違ったことをしています。
Q:Alpha
ビューモデルのと DataContext のが必要MyItemColor
ですmyitem
(MultiBinding ブロック内では DataContext のままだと思います)。Binding
タグはどのように表示されますか?
XAML
コンバータ
アップデート
私はそれを解決しました。ビューモデルにアクセスするには、親コントロール (アイテムを含む) を探す必要がありました。これの明確化、なぜそれが良い/悪いのか、答えとして十分です! 何が起こっているのか完全には理解できません:)
と...
c# - WPF のアイテムのコレクションに対する可視性
ドロップダウンとグリッドがあります。グリッド列にハイパーリンクがあります。ドロップダウン コレクションに 1 つの項目が含まれている場合、ドロップダウンは非表示にする必要があります。つまり、項目のコレクションに対して可視性をバインドするロジックが必要です。
GRid 内の 1 つのハイパーリンクの XAML を次に示します。