デフォルトの wpf MenuItem (メニュー上) は、およそのコントロールから構築されます。このように:
グリッド; 外側の長方形; bg-長方形; 内側の長方形; ドックパネル; 現れる。
ドックパネルは次のもので構成されてい
ます。道; コンテンツプレゼンター[テキスト]
contentpresenter [text]はTextBlock
コントロールで構成されます。
私が達成したいのはStyle
、可能な限り単純にa を定義して、 VerticalAlignment
this のプロパティを変更することですが、 inTextBlock
に対してのみであり、一般的にはそうではありません。TextBlock
MenuItem
<Style x:Key ="TextBlockCenterStyle" TargetType="{x:Type TextBlock}">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style TargetType="MenuItem">
<Setter Property="FontSize" Value="11" />
<Setter Property="ItemContainerStyle" Value="TextBlockCenterStyle" />
<Style.Resources>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</Style.Resources>
</Style>
私は試しStyle.Resources
てみItemContainerStyle
ました。
動作させることができません。実行時に(から) をItemContainerStyle
スローします。
可能であれば、FindChildControl?! のような一般的なソリューションにする必要があります。TargetInvocationException
NullReferenceException