私は単一のウィンドウwpfアプリケーションを持っており、すべてのTextBoxコントロールに適用するウィンドウ全体のスタイルを設定しようとしました。私はTextBlockコントロールで期待どおりに動作している別のスタイルを持っていますが、何らかの理由でTextBoxスタイルはx:Keyを使用するときにのみ機能します。私はこのスタイルを私のウィンドウ内のすべてのTextBoxのためのグローバルにしようとしています。ウィンドウ全体のテキストボックススタイルが適用されないのはなぜですか?
境界線の太さ、前景、背景、TextWeightなど、私のTextBoxスタイルで複数のプロパティを試したことに注意する必要があります。キーが押されない限り、TextBoxコントロールごとに明示的にスタイルが定義されます。
このコードブロックは現在私のApp.xamlにありますが、Window.Resourcesの下でもテストしました。あなたは、ウィンドウ全体のリソースのスタイルを定義するときにキーを削除する必要があるのStackPanel
<StackPanel Orientation="Horizontal">
<StackPanel.Resources>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Margin" Value="10,0,10,0"/>
</Style>
</StackPanel.Resources>
<TextBlock>Part Width:</TextBlock>
<TextBox Name="partWidthTextBox" Text="{Binding Path=Layout.Part.Width, UpdateSourceTrigger=LostFocus}" Style="{StaticResource TextBoxStyle}" Width="50" >
</TextBox>
<TextBlock>Part Height:</TextBlock>
<TextBox Name="partHeightTextBox" Text="{Binding Path=Layout.Part.Height, UpdateSourceTrigger=LostFocus}" Style="{StaticResource TextBoxStyle}" Width="50" />
</StackPanel>
これら2つのスタイルはどこに定義されていますか? – Yarik
これは、App.xamlの "Application.Resources"の内部にコードを配置するときに機能します。任意のフォームに配置されたすべてのテキストボックスは赤い背景を持っています。あなたに適していない完全な例を提供してください。 – NineBerry
さて、TextboxのXAMLを教えてください。 – NineBerry