問題タブ [celltemplate]

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

wpf - WPF動的DataTemplate:GridView CellTemplateはnullではありませんが、VisualTreeプロパティはnullです

ListView.GridViewのCellTemplateのDataTemplateを実行時に動的に設定しようとしています。問題は、これを行っても何も起こらないことです。CellTemplateを確認しましたが、nullではありませんが、VisualTreeプロパティはnullです。助言がありますか?

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

silverlight-3.0 - Silverlight - DataGrid CellTemplate の DataTemplate でレイアウト グリッドの DataContext にアクセスしますか?

Silverlight 3 を使用してアプリケーションを開発しています。私のアプリには、DataGridTemplateColumns を持つ DataGrid (「PART_datagrid」という名前) があるレイアウト グリッド (「LayoutGrid」という名前) があります。LayoutGrid には、Ladders リストがプロパティとして存在する DataContext が設定されます。このラダー リストは、PART_datagrid の ItemsSource として設定されます。

DataGridTemplateColumns の 1 つに、LayoutGrid の DataContext に存在する Command を呼び出すボタンがあります。そこで、次のように DataTemplate ボタンで Element-To-Element バインディングを試しました

しかし、これはうまくいかないようです。私が達成したいのは、コマンドを使用して親 DataContext レベルで DataGrid 行の削除イベントを処理することです。

誰かがこれをどのように進めるかを提案できますか?

前もって感謝します...

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

c# - XAMLで定義されたDataTemplateにnullのVisualTreeがあります

.NET3.0でWPFを使用しています。

GridViewのCellTemplateとして定義された比較的単純なDataTemplateがあります。DataTemplateのVisualTreeプロパティにFrameworkElementFactoryが含まれていることを期待していますが、GridViewColumnHeader.Clickイベントからアクセスしようとするとプロパティがnullになります。VisualTreeがnullなのはなぜですか?アクセスする必要があります。ListViewの定義は次のとおりです。

そして、これがイベントハンドラーです。

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

wpf - CellTemplate に ListView を使用する場合、DataGrid を強制的に編集モードにする

ご挨拶、

WPF DataGridTemplateColumn には、ListView を使用する CellTemplate と、DataGrid を使用する CellEditingTemplate があります。

私が直面している問題は、ダブルクリックで列を強制的に編集モードにする方法ですか? これは他の列のデフォルトの動作であり、一般的に DataGrid の場合と考えています。F2 を押すと編集モードが開始されますが、マウスを使用したダブルクリックでは開始されません。

ListView.IsEnabled を False に設定すると、ダブルクリックは機能しますが、正しく表示されない無効なリスト ビューがあり、スタイル ハックは醜いクラッジのように感じます。

トリックを実行しなかったシングルクリック編集を試みたことに注意してください。

どんな助けでも感謝します、ありがとう!

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

wpf - listViewセルのDouble値

レコードが変更されたときに、ListViewに古い値と新しい値を表示する必要があります。つまり、各セルは新しい値と古い値を表示する必要があります。今のところ私はそうしています:

次の列は次のようになります。

しかし、私には10の列があり、これは10の列すべてに多くのコピーアンドペーストを作成するのにそれほど面白くありません。

これをよりコンパクトに、より良くする方法はありますか?

私が欲しい理想的なバリアントは次のようなものです:

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

wpf - セルのない GridViewColumn?

3 つの GridViewColumn を持つことは可能ですが、2 つの CellTemplate しかありませんか? 最初のセルが左の 2 列を「占有」するようにしたいですか?

出来ますか ?

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

silverlight-4.0 - コードビハインドで列バインディングが行われたときにチェックボックスチェックイベントを発生させる方法は?

コード ビハインドでその場で列を作成するデータ グリッドがあります。列を作成するときに、関連するセル テンプレートとセル編集テンプレートを作成して、値をブール値に変換し、チェック ボックスのデータを表します。すべてうまくいきます。私がやりたいのは、コマンドでチェックイベントを起動することです。コードビハインドで何かを行う次のリンクを使用して、XAMLでこれを達成できました

http://forums.silverlight.net/forums/p/199477/466179.aspx

動作中の XAML コードを移動して、コマンドが実行されない背後にあるコードに移動しました。

XAML でコードを作成し、静的リソース クラスにブレーク ポイントを配置すると、ブレーク ポイントがヒットしたことがわかります。しかし、同じコードをコードの背後に置くと、ブレークポイントにヒットしません。テンプレートを適用すると、静的リソースが解決されると思いました。そうではないようです。

今のところ、バックエンド データをリッスンすることで、何が変化しているかを把握できています。命令でこれを達成したいと思います。

コメントや提案はありますか?ありがとう

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

wpf - WPF GridViewRowPresenter のセル テンプレートをオーバーライドする

ListViewと同様の方法でGridViewRowPresenterを使用するカスタム コントロールを作成しています- ViewBaseタイプのコントロールのプロパティのコレクションにバインドします。ColumnsView

これは、コントロールのユーザーが使い慣れたGridViewスタイルの構文を使用して列を指定できることを意味します。次に例を示します。

これは正常に機能MyControlTypeしますが、追加のコンテンツが含まれるように、コントロール ( ) がグリッド内の列のセル テンプレートを「オーバーライド」できる必要があります。

コントロールのユーザーが記述する必要のある構文への最小限の変更でこれを行うにはどうすればよいですか?

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

c# - アイテムの状態に基づいて ListView CellTemplate を変更する

ItemsSource として ObservableCollection を持つ ListView があり、いくつかの列があります。これらの 1 つは [状態] 列で、アイテムの現在の状態に応じて異なるメッセージが表示されます。現在、これは基本的な文字列として実装されており、機能する一方で、きれいでもユーザーフレンドリーでもありません。アイテムの状態により適切に出力の種類を変更できるようにしたい。

私はいくつかの調査を行い、CellTemplate を使用して表示に影響を与える必要があることを知っていましたが、さまざまな種類のテンプレートがすべて圧倒され、次にどこに行くべきかわかりません。

私のコード(他の多くのリストビューの綿毛を除く)は次のとおりです。

はい、アイテムにはハードコーディングされた「ステータスメッセージ」があり、コードに実際に関連する他のプロパティと一緒に更新されるため、コードの他の場所で醜い重複が発生します。(そして、はい、これがきれいとはほど遠いことはわかっていますが、これも改善したいと考えています。)ItemState私はそれほど創造的ではないので、そのプロパティが呼び出されます。

したがって、私の質問は、この列を変更して、特定の状態に最も適した表示にする方法を教えてください。テキストによる説明は多くの状態に対応しますが、いくつかはかなり長く、その横にプログレス バーがあり、おそらく何らかの残り時間があるテキストが役立つ場合があります。別の州は、クリック可能なハイパーリンクを持つことで利益を得るでしょう。つまり、少なくとも 3 つの異なる CellTemplates が必要だと思います。

WPFの経験がほとんどない人(=私)の設計ミスに大きく悩まされているのは、かなり自由回答の質問であることを認識していますが、経験豊富な人が基本的なコードで私を正してくれることを望んでいます私が今まで以上に物事を混乱させる前に。:)

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

wpf - 行、列、およびセル テンプレートの数が多い ListView の GridView

ListView/GridView に問題があります。実際、私のグリッドには 285 行あり、24 列が動的に構築されています。

私のグリッドは非常に遅かったので、他のテストを XAML で直接行うことにしました (理論的にはより効率的であるはずです)。すべての列に CellTemplate があります。

これで問題を簡単に再現できます:

各列に「二重列」スタイルが表示されます (グラフィックに少しバグがありますが、この事実には注意してください)。

ここでの主な問題は、グリッドの速度が遅いことです。明らかに、プロのグリッドとして使用することはできません...仮想化をアクティブにし、それを無効にしようとしました (仮想化が無効になっている場合、グリッドをロードするのに約 17 ~ 18 秒かかります。 ..)

高速グリッドまたは私が間違っていることを達成するためのいくつかのトリックはありますか? 私は最初にWPF Toolkit Datagridを使用していました(私はWindows XPでWPF 3.5を使用しています)、同じ問題が発生したため、データの表示のみが必要なため(編集はまったく必要ありません)、「昔ながらの」ListViewに戻りましたGridView 内部...効果なし IMHO ..

ありがとう !

EDIT 1 : WPF GridView のパフォーマンスの可能性が最大限に達したようです...前に書かれた例は単なる「単純な」リストです...文字列だけでなく、辞書と複雑な構造をバインドすることを検討してください。さらに、このすべての WPF アプリケーションはクラス ライブラリであり、VSTO アドインによって起動されます。

結論:グリッドビューはそのままでは使用できません...仮想化を無効にすると22秒でロードされます。

WinForm DataGridView を WPF ウィンドウに使用する必要があるようです...これを使用して問題を解決できると思いますか?