簡體   English   中英

App.xaml中的非鍵樣式不會應用於用戶控件

[英]Non-keyed styles in App.xaml do not get applied to user controls

在我的C#/ WPF / .NET 4.5項目中,我的App.xaml包含以下內容:

<Application x:Class="HsWpfApplication.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 x:Key="h1" TargetType="{x:Type TextBlock}">
      <Setter Property="FontFamily" Value="Segoe UI Light" />
      <Setter Property="FontSize" Value="20pt" />
      <Setter Property="VerticalAlignment" Value="Center"/>
    </Style>
    <!-- ... -->
    <Style TargetType="{x:Type Button}">
      <Setter Property="FontFamily" Value="Segoe UI Symbol" />
      <Setter Property="FontSize" Value="11pt" />
      <Setter Property="Margin" Value="0,10"/>
      <Setter Property="HorizontalAlignment" Value="Center"/>
      <Setter Property="VerticalAlignment" Value="Center"/>
      <Setter Property="BorderBrush" Value="DarkGray"/>
    </Style>
    <!-- ... -->
  </Application.Resources>
</Application>

在子命名空間HsWpfApplication.Controls下,我還有一個用戶控件,該控件以下列方式定義:

<UserControl x:Class="HsWpfApplication.Controls.Manager"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    mc:Ignorable="d" 
    d:DesignHeight="600" d:DesignWidth="300">

  <UserControl.Resources>
    <DataTemplate x:Key="ManagerItemDataTemplate">
      <!-- ... -->
    </DataTemplate>
  </UserControl.Resources>

  <Grid>
    <!-- -->
    <Grid Grid.Row="0">
      <TextBlock Style="{StaticResource h1}" Margin="10,0,0,0" HorizontalAlignment="Left">Manager</TextBlock>
      <StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
        <Button Command="{Binding CreateNewItemCollectionCommand}"
            ToolTip="New Item Collection"
            Margin="0,10,10,10"
            Width="40" Height="40"
            FontSize="18"
            Content="&#xE130;"/>
        <!-- ... -->
      </StackPanel>
    </Grid>
    <!-- ... -->
  </Grid>
</UserControl>

鍵控樣式h1可以很好地應用於TextBlock 我要應用於Button的非鍵樣式不起作用:

在此處輸入圖片說明

如何在App.xaml文件中獲得非鍵樣式來影響用戶控件?

您是否嘗試過為隱式樣式添加非常明顯的價值? 我建議FontSize = '48'或類似的東西。 也許問題在於您的系統上沒有“ Segoe UI符號”?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM