WPFプロジェクトでは、自分のプログラムのすべてのWindowsに対して暗黙的なスタイルを実行したいと思っています。 DataGridのDataGridTextColumnに問題があります。これはビューモードのTextBlockとEditModeのTextBoxですが、スタイルは適用されません。DataGrid(WPF、C#)内でのTextBoxの適切な暗黙的なスタイル設定方法
私の暗黙のスタイリングは
<System:Double x:Key="FontSize">14</System:Double>
<Style x:Key="TextBoxStyle" TargetType="TextBox">
<Setter Property="Margin" Value="3" />
<Setter Property="MinWidth" Value="30" />
<Setter Property="Height" Value="20" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Background" Value="White" />
<Setter Property="FontSize" Value="{StaticResource FontSize}" />
<Style.Triggers>
<Trigger Property="IsReadOnly" Value="True">
<Setter Property="Background" Value="LightGray" />
</Trigger>
</Style.Triggers>
</Style>
<Style TargetType="TextBox" BasedOn="{StaticResource TextBoxStyle}" />
このスタイリングは、編集モードでDataGridTextColumnには適用されません。
は私が最終的な結果は、のFontSizeが現在適用されていることである。この StackOverflow Question<Style TargetType="DataGridCell">
<Setter Property="TextElement.FontSize" Value="{StaticResource FontSize}" />
</Style>
でいくつかの助けを見つけたが、私はその後、垂直CenterAlignへの解決策を見つけた
コンテンツが垂直トップ揃えられますDataGridTextColumnの内容
<Style TargetType="DataGridCell">
<Setter Property="TextElement.FontSize" Value="{StaticResource FontSize}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Grid Background="{TemplateBinding Background}">
<ContentPresenter VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
は残念ながら、私は今、私が試してみて、テキストボックスの周りに境界線を削除するために、様々な解決策を試してみました
私のエディットモードで国境に直面したが、私はできませんでした。 暗黙的なTextBoxスタイルをDataGridTextColumnのEditmodeにも適用するように指定することはできますか?
私はWPF Stylingが限定的であり、理解しづらいことが判明しています。私はあなたが例えば、あなたのTextBoxStyle
にすべての列のEditingElementStyle
を設定することができる誰かがいくつかの明快さに
私は実際にそれらを暗黙的にスタイルする方法を見つけることを望んでいました。他に誰も解決策がない場合、これが解決策になります。 – JesperGJensen
カスタムのDataGridTextColumnクラスを作成して、EditingElementStyleをカスタムスタイルに設定することができます。 – mm8
あなたのソリューションは明らかに機能し、あなたのご意見をお寄せいただきありがとうございます。私はそれを答えと記しました。 WPFが完全暗黙の設定をサポートしていないこと – JesperGJensen