thisのようなwpfデータグリッドで合計行を作りたいと思います。 xamlでそのような行を作成する方法がわかりません。私は他の行をスクロールするときに凍結する必要があります。wpf datagrid合計行
誰かが、データソースに合計アイテムを追加し、そのアイテムの特別なテンプレートを作成することができます。しかしこれはちょっと変わったようです。
私はそのための解決策が見つかりませんでした。誰かがそれをどうやって考えているのですか?
thisのようなwpfデータグリッドで合計行を作りたいと思います。 xamlでそのような行を作成する方法がわかりません。私は他の行をスクロールするときに凍結する必要があります。wpf datagrid合計行
誰かが、データソースに合計アイテムを追加し、そのアイテムの特別なテンプレートを作成することができます。しかしこれはちょっと変わったようです。
私はそのための解決策が見つかりませんでした。誰かがそれをどうやって考えているのですか?
あなたのTextBlock.Textをあなたの値にバインドすることができます。あなたのすべての列のためにこれを行うには、あなたが結合
<TextBlock Text="{Binding}" TextWrapping="Wrap"/>
を使用するように
Header
テンプレートで
TextBlock.Text
を変更することができ、各列のためにそれを行うには、代わりにこの
<DataGrid ...>
<DataGrid.Resources>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock Text="{Binding}" TextWrapping="Wrap"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}" Header="Header Text">
</DataGrid.Columns>
</DataGrid>
のようなあなたのDataGridヘッダーのためのContentTemplateを変更することができます
してから列がこの
<DataGridTextColumn
Binding="{Binding Name}"
HeaderTemplate="{StaticResource ColumnHeaderTemplate}"
Header="Header Text"/>
のようになります。私はそれを解決するために、同様の問題を持っていた私は、ドックパネルaを作成データグリッドを一番上にドッキングしました。次に、各テーブル列のテキストボックスを含む水平スタックパネルを作成し、必要な合計を入力した後、これをドッキングパネルの下部にドッキングしました。データグリッドScrollViewer.VerticalScrollBarVisibilityをautoに設定すると、データグリッドの下部に合計行が常に表示され、コンテナのデータグリッドが大きくなるとスクロールコンテナにラップされます(合計行はまだ表示されます) 。
データグリッドヘッダーを拡張することができます。 StackPanelとそこに合計のラベルやテキストブロックを置く? – Stuart
@Stuart素晴らしい!ありがとうございました。私はそれが簡単だろうとは思わなかったし、間違った質問を探した。 –