問題タブ [rowdetailstemplate]
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.
silverlight - Silverlight RowDetailsTemplate を対応する行の上に配置する方法は?
RowDetailsTemplate
Silverlight グリッドでを作成する場合、行が選択されたときに行のすぐ下に表示される行の詳細のテンプレートを指定できます。
データグリッドの 1 つに関する詳細は、個々の行の後ではなく、その直前のほうが見栄えがよくなります。
Blend でテンプレートを変更しようとしましたが、テンプレートのこの部分に到達すると行き詰まります。
関連するテンプレートDataGridRowsPresenter
がないように見えるので、詳細を行の上に移動する方法が見つからないようです。
これは可能ですか?
wpf - .NET4.0にアップグレードした後のWPFDataGridのバグ
状況は次のとおりです
。DataGridには、別のDataGrid(サブグリッド)を含むRowDetailsTemplateがあります。EventHandlerを含むDataGridTemplateColumnを追加すると、NullReferenceException
PresentationFramework.dllによってaがスローされます。
この問題は、.NET4.0でのみ発生します。プロジェクトが.NET3.5を対象としている場合(およびDataGridコンポーネントにWPFToolkitを使用している場合)、すべてが期待どおりに機能します。
このエラーを再現する小さなサンプルプロジェクトを添付しました。プロジェクトには、問題を再度説明し、例外のスタックトレースを示すREADMEファイルがあります。(サンプルプロジェクトはここにあります)
再現手順:
1。サンプルプロジェクトをそのまま実行します。
2.グリッドの最初の行にある[DeleteMe]リンクを試して、メッセージが表示されることを確認します。
3.最初の列の[表示]セルをクリックして、1つのアイテムを含むサブグリッドが表示されていることを確認します。
4.サブグリッドの[Deleteme]リンクを試して、何も実行されないことを確認します(コードに接続されていません)。
5.ウィンドウを閉じて、MainWindow.xamlに移動します
。6。36行目のMainWindow.xamlのHyperlink.Clickイベントを接続します。HyperlinkタグにClick="HyperlinkClick"を追加します。
7.プロジェクトを再度実行し、最初の列の[表示]をクリックします。NullReferenceExceptionがスローされます。
これはhttps://connect.microsoft.com/VisualStudio/feedback/details/603333/wpf-datagrid-rowdetails-add-2nd-datagrid-to-rowdetailstemplate-with-eventhandlers#detailsからクロスポストされていますが、これはブロッキングの問題です。私のため。
だから問題は:なぜこれが起こっているのですか?これはPresentationFrameworkコードのバグだと思いますが、100%確実ではありません。EventHandlerを期待どおりに機能させるにはどうすればよいですか?
ユーザーがDeleteキーを押すことを許可することで一時的な回避策を見つけましたが、これによりアプリの動作が損なわれます。
この問題を再現してコメントできる人はいますか?
datagrid - WPF では、DataGrid.RowDetailsTemplate にバインドするにはどうすればよいですか?
カスタム クラスの ObservableCollection にバインドされた DataGrid があります。コレクションは ViewModel のプロパティであり、コレクションへの変更を含め、グリッドは正常に機能します。
次のように、RowDetailsTemplate を使用して、StackPanel に 2 つの追加コレクションを表示したいと考えています。
内側のグリッドのバインド ソースである ClusterIndexColumns と IndexColumns も、ViewModel のコレクションです。
問題は、行の詳細を表示すると、データグリッドが空になることです。つまり、まったくロードされず、列も行もありません。
何が起こっているのかを理解するために、内側のデータグリッドをラベルに置き換えました。
バインディング ソースを指定していない - {Binding}
ラベルには、外側のグリッドのソースであるコレクションにあるカスタム クラスの名前が表示されるようになりました。
どういうわけか、内側のグリッドのデータ コンテキストとして ViewModel に戻る必要があります。
しかし、どうやって教えてください?
c# - C#/WPF-DataGrid-RowDetailsのTextBoxの幅を含まれているDataGridの幅にバインドする
私の問題はこれに似ています。
行の詳細が、それがまたがる列の幅を超えないようにしたい場合を除きます。
私は試しAreRowDetailsFrozen
ましたが、これは効果がありませんでした。親グリッドの実際の幅(OneWay)にもバインドしようとしましたが、これにより、幅が2つの画面の幅を超えてしまいます。
これが私の現在の試みです(簡略化)。
これにより、次のようになります。
TextBoxの幅を任意の親コンテナ(Grid、DataGrid、ItemsPresenter)にバインドします。
結果:
非常にイライラします。行の詳細でDataGridの幅を変更しないようにしたいのですが、それだけ質問する必要がありますか?:)
wpf - DataGridRow.DetailsVisibilityにデータバインドできますか?
RowDetailsTemplateを使用したWPFデータグリッドコントロールがあります。行にバインドされたオブジェクトにプロパティを設定して、その特定の行に詳細を表示するかどうかを設定できるようにしたいと思います。
たとえば、以下のような基本的なレイアウトがあり、「Detail」オブジェクトに「Expanded」というブールプロパティがある場合、値が変更されたときにそのプロパティをバインドして、行の詳細を表示できるかどうかを確認できますか?
wpf - RowDetailsTemplate--mvvm を使用して、データグリッド内の同様の行を選択または強調表示する必要があります
行の詳細を持つデータグリッドがあります。私の行は複製できます。似ている行をすべて選択したい。どうすればそれを達成できますか。私はmvvmパターンを使用しています。ビュー モデルで selectedItem を同じプロパティにバインドしましたが、機能しません。
xaml コードは次のとおりです。
ご覧のとおり、VMレベルで「SelectedAccessory」にバインドすると機能します。画面内の他のコントロールと同期しますが、データグリッド内の他の行とは同期しません。「Overhead Door Opening12」行の 1 つをクリックしたときに、すべての行を選択したいと思います。
前もって感謝します。
wpf - WPF4DataGridRowDetailsTemplateのDataGridの行を削除します
RowDetailsTemplateに別のDataGridコントロールを含むWPF4DataGridコントロールがありました。DataGridコントロールとキーボード操作の両方にPreviewKeyDownイベントを追加します。キーボードのDeleteキーを押すと、DataGridコントロールのSelectedItemsが削除されます。私の問題は、RowDetailsTemplateDataGridControlの行を削除したい場合です。ルーティングされたイベント、RowDetailsTemplateを定義するParentDataGridの行も削除されました。RoutedEvent.RoutingStrategyの設定が原因だと思います。しかし、どうすればRowDetailsTemplate DataGridの行のみを削除できますか?ありがとう。
wpf - RowDetailsTemplate に DataGrid がある WPF DataGrid は垂直スクロールバーを取得しません
DataGrid を含む RowDetailsTemplate を持つ DataGrid があります。親グリッドは、独自の行に配置されます。行は次のように定義されます
通常、これは、行が使用可能な高さの REST を取得し、最初に取得することを意味します。しかし、DataGrid が画面に残されたスペースに対して大きすぎる場合、DataGird のボタンはスクロールバーを取得する代わりに「画面の下」に消えます。
親グリッドに MaxHeight=400 を定義して解決しようとしましたが、親グリッドの長さは無制限であり、それでも長すぎて底の部分が見えません。
それについて何をすべきか考えていますか?
wpf - RowDetailsTemplate にある DataGrid の列で Width="*" が機能しない理由
"*" を使用して DataGrid (RowDetailesTemplate にある) 列の幅を設定すると、列のスケーリングが機能しません。
しかし、DataGrid を Grid に置き換えて、「*」を使用して列幅を設定すると、スケーリングが機能します
DataGrid のスケーリングを修正する方法は?
解決:
c# - 別のDatagridのRowDetailsTemplate内のDataGridのSelectedItemを追跡できません
私は今日早くこの問題に遭遇し、解決策を見つけることができません。の中にあるのSelectedItem
は、のDataGrid
中にある行を選択したときに設定されていません。(明確に説明するのは難しいです。)RowDetailsTemplate
DataGrid
DataGrid
RowDetailsTemplate
バインディングはすべてリストに対して正しく機能しています。MainViewModelにObservableCollection
はMyItem
オブジェクトが含まれており、これが外部DataGrid
バインド先です。
MyItem
オブジェクトにはオブジェクトが含まれておりObservableCollection
、それらMyItem2
は内部に正しくバインドされDataGrid
ます。
MyItem
オブジェクトには、内部のにSelectedItem2
バインドされることになっているが設定されないというプロパティもあります。SelectedItem
DataGrid
ところで:私はVS2012と.Net4.5を使用しています。
例:
MainWindow.xaml
MainWindowViewModel
MyItems ViewModels
ViewModelBase
どんな助けでもいただければ幸いです。
ありがとう!