問題タブ [datagridtemplatecolumn]

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 投票する
5 に答える
4612 参照

wpf - WPF: System.ArgumentException => {"'{0}' は Visual または Visual3D ではありません。"}

DataGridTemplateColumn 内にあるリストボックスの空の領域にある項目の下を 2 回クリックするか、既にフォーカスされているときに 1 回クリックすると、上記のエラー メッセージが表示されます

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

これは私のコードです:

「myPhotos.png」項目エントリの下をクリックした画像について考えてみましょう: (ソース: 666kb.com )代替テキスト

編集:このエラーは、ツールチップを介して XAML でも既に表示されていますが、そのエラー ツールチップは表示されていません...

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

datagrid - バインドされたコンボボックス: 文字列のソース リストを並べ替えた後にテキストが消える

ObservableCollection<string>コンボボックスにバインドされたリストを取得しました。このコンボボックスは、「DataGridTemplateColumn」内にあるデータ テンプレートにあります。

データグリッドが (すべての行で) 表示されると、このコンボボックスを表示する列は正常に機能します。ユーザーはコンボボックス内の項目を選択できます。選択すると、文字列がセルにバインドされます。(参考までに:データグリッドは別のObservableCollectionにバインドされているため、そのリストでセルテキストが更新されますが、私の問題には関係ないと思います)。

これで問題はありませんがObservableCollection<string>、コンボ ボックスがバインドされているリストに別の項目を「追加」して並べ替えを実行すると、問題が発生します。以前に変更されたいくつかのコンボボックスの「テキストボックス」部分でテキストが消えます。リストをソートしない場合 (新しい値を追加するだけ)、すべて問題ありません。

リストを再ソートすると、バインドが台無しになることが起こっていると思います。リストが「変更」されたため、リスト内の文字列の順序が異なり、バインディングは何を表示するかわかりません。

どうすればこれを機能させることができますか? リストを再ソートすると、以前に選択したコンボボックスのテキストが消えますObservableCollection<string>

<DataGridTemplateColumn>コンボボックスを含む私のものは次のとおりです。

...関連する DataTemplates は次のとおりです。

このコードの大部分はhttp://sweux.com/blogs/smoura/index.php/tag/datagridcolumn/の Samuel Moura によるものです。

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

asp.net - 個々のコントロール列の DataGridTemplateColumn と DataGridTextColumn の比較

違いは何ですか、どちらも機能します: DataGridTemplateColumn と DataGridTextColumn

どちらも機能するということは、セル内のリッチテキストを編集して表示できることを意味します。

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

wpf - wpfdatagridtemplatecolumnでテキストボックスバインディングを取得します

複数のdatagridtemplatecolumnsを含むwpfdatagridがあります。これらはすべて、テキストボックスを含むdatatemplateから構築されています。

次に、テキストボックスのバインディングを取得します(テキストボックスのバインディングを決定するテンプレート列への参照があります)。

または、テンプレート列のX:Nameを返すと便利です。

ヒントはありますか?よろしくクラウス

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

c# - DataGridColumnHeader スタイルをカスタマイズして再利用する方法は?

次のスクリーンショットのように、DataGrid の列ヘッダーをカスタマイズしてサブ列ヘッダーを表示しようとしています。

代替テキスト

次の XAML のように、2 つのサブ列のスタイルを作成しました。

このスタイルを再利用して拡張し、2->6 サブ列ヘッダーをサポートしたいのですが、ContentPresenter の「オーバーライド」のようにこれを行う方法があるかどうかはわかりません。

とにかく、これらの問題について私を助けてください:

  1. 上記のテンプレートが与えられた場合、それぞれに新しいテンプレートを作成することなく、より多くのサブ列ヘッダーをサポートするにはどうすればよいでしょうか?

  2. 上記の問題が解決されたと仮定します。スタイルの外に列名を付けるにはどうすればよいですか?

  3. XAML の一部のパーツ、プロパティ、および視覚化ルールは、元の Silverlight コンポーネントのスタイル、つまり BackgroundGradient、BackgroundRectangle、VisualStateManager からの単なるコピーであることがわかります...既定の動作または効果をサポートするためには、それらが存在する必要がありますが...誰かそれらを削除する方法を知っていますが、すべてのデフォルトの動作/効果を保持しますか?

C# と Silverlight を使い始めたばかりなので、具体的に教えてください。

0 投票する
5 に答える
74691 参照

c# - WPF - DataGridTemplateColumn をバインドする方法

特定の に関連付けられたプロパティの名前を取得しようとしているDataGridColumnので、それに基づいていくつかのことを実行できます。この関数は、ユーザーが列のヘッダーのコンテキスト メニュー項目をクリックすると呼び出されます...

これは、バインドされているため、 のようなすぐに使用できる既製の列タイプでは問題ありませんDataGridTextColumnが、問題は、私の列の一部がDataGridTemplateColumnsバインドされていないことです。

たとえば、私のNameコラムを見てみましょう...それはDataGridTemplateColumn(そこに画像やその他のものが含まれているため)です。したがって、実際には「名前」プロパティにバインドされていません...しかし、上記のコードが機能するようにしたいと思います。

私の質問は 2 部構成です。

  1. DataGridTemplateColumn上記のコードが機能するように、BOUND にすることは可能ですか? どういうわけかプロパティにバインドできますか?

  2. または、まったく別の何かが必要で、上記のコードを変更する必要がありますか?

前もって感謝します!

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

wpf - WPF DataGrid の DataGridTemplateColumn に基づく列のスタイリング

行が編集可能な場合、列の1つに「編集」ハイパーリンクを表示する必要があるWPF DataGridを使用しています-これは、行のバッキングモデルのブールフラグによって示されます。DataGridTemplateColumn を使用してこれを達成できました - 問題ありません。ただし、行全体に対する追加の要件は、行が選択されたときにハイライトを表示しないことです (これはデフォルトで青色の背景です)。透明な背景を持つ DataGridCell スタイルを定義することで、他の列でこれを実現できました。

ここで、DataGridCellStyle は次のように定義されます。

ただし、問題の列である DataGridTemplateColumn には、選択のハイライトをオフにするために使用できる「CellStyle」属性がありません。だから私の質問は、DataGridTemplateColumn を使用するときにセル スタイルを設定する方法ですか? 最初の要件を満たす列の実装を次に示します (つまり、行が編集可能な場合は「編集」ハイパーリンクを表示します)。

ありがとう。

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

wpf - WPF Toolkit DataGrid で DataGridTemplateColumn を並べ替えるにはどうすればよいですか?

DataGridTemplateColumn が 1 つある WPF Toolkit DataGrid があります。すべての列を並べ替え可能にするようにグリッド属性で指定しましたが、DataGridTemplateColumn では許可されません。他のすべての列では、並べ替えが可能です。その列の CanUserSort を明示的に true に設定しようとしましたが、うまくいきませんでした。テンプレート列をソートすることさえ可能ですか? すべての列で機能するカスタム ソーターを提供しましたが、ヘッダーで並べ替えのクリックが許可されません。

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

wpf - 列挙型をWPFのComboBoxにデータバインドし、一部の列挙型をフィルタリングする

列挙型を DataGridTemplateColumn 内にあるコンボボックスにバインドする必要がありますが、列挙型が持つオプションの一部のみです。
例:
列挙オプション: Unknow , One , Two , Three , Four , All
バインド可能なもの: One , Two , Three , Four

これを行う方法はありますか?
どうもありがとう。

よろしくお願いします

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

silverlight - Silverlight DataGridTemplateColumn ヘッダーを中央に配置するにはどうすればよいですか?

Silverlight DataGridTemplateColumn のヘッダーを中央に配置したいと考えています。次のコードは、ほとんどの方法で私をそこに連れて行きます:

ヘッダーは確かに中央に配置されていますが、列が展開されている場合、ヘッダーは伸びません。元の幅のままで、両側に白い隙間が残り、見栄えが悪くなります。

列ヘッダーが全幅を占めるように、列ヘッダーを中央に配置する適切な方法は何ですか?