Чтобы помочь мой WPF приложения есть подобное чувство, я начал использовать стили на уровне приложений:Как наследовать названный стиль из App.xaml?
<Application x:Class="MyApplication.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
<Style TargetType="Button">
<Setter Property="Margin" Value="10"/>
<Setter Property="Padding" Value="5"/>
<Setter Property="MinWidth" Value="60"/>
</Style>
<Style TargetType="TextBox">
<Setter Property="Margin" Value="10"/>
<Setter Property="Padding" Value="5"/>
<Setter Property="MinWidth" Value="60"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
<Style TargetType="TextBlock">
<Setter Property="Margin" Value="10"/>
<Setter Property="Padding" Value="5"/>
<Setter Property="MinWidth" Value="60"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</Application.Resources>
Теперь это работает хорошо для большинства моего контроля, но я хотел бы пойти немного глубже и добавлять определенные типы стилей для таких вещей, как заголовки. Из каждого окна я сделал это:
<Window x:Class="myApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="150" Width="300">
<Window.Resources>
<Style x:Key="HeaderStyle" TargetType="TextBlock">
<Setter Property="Foreground" Value="Gray" />
<Setter Property="FontSize" Value="24" />
</Style>
</Window.Resources>
<StackPanel>
<TextBlock Style="{StaticResource HeaderStyle}">Header 1</TextBlock>
<TextBlock >Some content</TextBlock>
</StackPanel>
Как я могу сделать это с App.xaml? Чтобы не касаться каждого окна, если я хочу изменить форматирование.
Мне кажется, что я начну с добавления того же стиля x: Key, который работал в окне приложения. Затем добавьте это в окно
xmlns:app="clr-namespace:myApp"
Если это правильно, я не уверен, куда идти. Вот один из моих снимков, в которых я стараюсь сделать его работу
<TextBlock Style="{x:Type app:HeaderTextBlock}">Header 1</TextBlock>
Спасибо за любой совет.
Вы пробовали ' Header 1 '? когда вы помещаете стиль внутри '' –
ganchito55
Это работает !. Я просто предположил, что это будет что-то более трудное. –