問題タブ [valueconverter]

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

c# - valueconverter を使用した動的データテンプレート

データがコレクションである wpftoolkit データグリッドにデータを表示したい

候補リストの候補の数は、実行時に構成可能です。

望ましいグリッド レイアウトは次のようになります

Foo | Bar | Candidate 1 | Candidate 2 | ... | Candidate N

したがって、バインド式が変更されるため、xaml で候補の DataTemplate を作成できないようです。

次のように AutoGeneratedColumns イベントに必要な列を追加します。

ただし、これは次の例外で失敗します: タグ 'FooConverter' が XML 名前空間 'clr-namespace:WpfToolkitDataGridTester;assembly=WpfToolkitDataGridTester' に存在しません。行 '3' 位置 '54'。

StaticResource を DynamicResource に変更しても、変更はありません。

私は何が欠けていますか?

FWIW: ハードコードされたデータテンプレート

およびそのように定義されたテンプレート列

「動作」しますが、Candidates[0] がハードコーディングされているため、明らかに望ましい結果が得られません。

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

wpf - WPF:バインディング時にValueConverterを指定する別の方法

バインディングに値コンバーターを指定する際に遭遇した最も一般的な方法は、次のとおり
です。1.値コンバーターのインスタンスをリソースとしてキーを使用して作成します。
2.StaticResourceマークアップ拡張機能を使用してインスタンスを参照します。

Q:静的インスタンスを次のように使用することに何か問題がありますか?

私の場合、値コンバーターは不変です。

編集:別の方法は、コンバーターを拡張機能 に変換して、マークアップ拡張形式を使用してコンバーターを指定することです。

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

wpf - ブラシ用のWPFValueConverterの作成

今日のNerdPlusArtブログには、作成者が頻繁に使用する矢印のWPFリソースの作成に関する投稿がありました。戻るボタンと進むボタンがあるサイドプロジェクトがあるので、左矢印と右矢印がこれらのボタンでうまく機能すると思いました。

LeftArrowおよびジオメトリをアプリケーションのリソースに追加しRightArrow、ボタンのコンテンツとして使用しました。

ボタンが有効になっているかどうかに関係なく、矢印が黒で描かれていることを除いて、それは機能しました。だから、私はValueConverterからに行くためにを作成しboolましたBrush

(ハードコードされた黒とグレーの代わりにシステムカラーを使用する必要があることはわかっていますが、最初にこれを機能させたかっただけです。)

コンバーター(アプリケーションのリソース内で作成したもの)を使用するようにのFillプロパティを変更しました。Path

残念ながら、これは機能しません。理由はわかりません。実行すると、矢印がまったく描画されません。Visual Studioの[出力]ウィンドウを確認しましたが、バインドエラーは表示されませんでした。boolまた、ボタンを有効にするかどうかに基づいて、がコンバーターで正しい値であることを確認しました。

Path戻るをaに変更すると(そしてと同じ方法でTextBlockそのプロパティをバインドすると)、テキストは常に黒で描画されます。ForegroundPath.Fill

私は何か間違ったことをしていますか?コンバーターから返されたものがボタンのBrushレンダリングに使用されないのはなぜですか?Path

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

wpf - 値コンバーターを使用したデータバインディングが機能しません

次のような単純な Item クラスがあります。

そして、ValueConverter は次のようになります。

私の WPF ウィンドウで、Item オブジェクト (List< Item >) のリストを保持する DependencyProperty (Items と呼ばれる) を宣言し、この XAML コードを使用してこの DependencyProperty にバインドする ComboBox を作成します。

以下のコードを 1 回実行すると、データバインディングは正常に機能しますが、再度実行すると値の変換が失敗します。

問題は、ItemToStringConverter.Convert メソッドに、Item オブジェクトではなく最初のパラメーターとして文字列オブジェクトが渡されることです。

私は何を間違っていますか?

よろしく、ケネス

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

c# - ASP.Net用のWPFのValueConvertersに似たものはありますか?

WPFを使用してプロジェクトを実行し、その優れたデータバインディング機能に非常に愛着を持った後、ASP.Netに戻り、WPFの機能の一部を見逃し始めています。

私の質問は... ASP.Net用のWPFのValueConvertersに似たものはありますか?

たとえば、UserControlにパブリックプロパティを公開させたいのですが、これはでIEnumerable<int>あり、ユーザーはソースからそのようなプロパティを入力できます。

次に、の値は、WPFのValueConverterのようなものでTheListに変換されます。IEnumerable<int>

[更新]解決策

Nathan Baulchが言及したおかげで、私はこの質問TypeConverterに出くわし、文字列からリストへのコンバーターを構築することができました。

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

wpf - WPF : コントロール バインディング - C# コードから IValueConverter をトリガーする

私の XAML コードでは、コントロールの Height プロパティを親コントロールの ActualHeight にバインドしました。使用する元の値と IValueConverter からオフセットを計算する必要があるためです。

これはこれまでのところうまくいきます。

何らかのイベントの後、ValueConverter 内の式が変更され、別の出力が生成されます。しかし、ウィンドウのサイズを変更した後にのみ、コントロールが更新されて整列されます。(C# コードから) コントロールにそれ自体を更新し、ValueConverter から新しい値を取得するように指示する方法はありますか?

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

silverlight - ControlTemplateで使用されるValueConverterをパラメーター化するための良い方法は何ですか?

私が取り組んでいるテンプレート化されたコントロールは、次のようなValueConverterを使用します。

これは、generic.xamlで提供するデフォルトの外観です。このコントロールを使用するときは、さまざまな形式の文字列をコンバーターに渡したいと思います。完全なControlTemplateを提供せずにそれを実現する方法はありますか?

私が最初に考えたのは、コントロールのプロパティにTemplateBindingを指定してConverterParameterを使用できるということでしたが、ConverterParametersをバインドできないことがわかりました。別のオプションは、ConvertToメソッドからコントロールにアクセスし、そのプロパティをピックオフすることです。どうすればいいのかわかりません。使用するたびにコントロールを完全に再テンプレート化する必要をなくすオプションは役に立ちます(Xamlがたくさんあります)。

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

wpf - INotifyPropertyChange はコンバーター ベースの値を更新しませんか?

ソースが次のように設定された画像がありますValueConverter

バインドされたオブジェクトがPropertyChanged(から) イベントを発生さINotifyPropertyChangedせても、イメージは変化しません。これは、WPF がコンバーターが参照するフィールドを認識していないためだと思います。

特定のプロパティが変更されたときに、このコンバーターを再バインド/再実行するように WPF に指示するにはどうすればよいですか?

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

silverlight - SilverlightDatePickerのテキストからDateTimeへの変換をインターセプトします

DatePicker次のテキストをDateTime(国際形式で表示)に変換して、顧客がテキストボックスに日付をDatePickerすばやく書き込むことができるようにしたいので、使用するのDateTime.Parseは私だけではありません。

私はそれを行うためにさまざまな方法を試しましたが、それらは機能しません。DatePicker.Text//カスタムvalueconverterでDatePicker.SelectedDateバインドしようとしました。しかし、テキストに到達する前にすでにテキストを処理しているDatePicker.DisplayDateため、機能しません。DatePicker

私もDatePicker TextBox.LostFocusこのように変換しようとしました:

何か案は?