wpfWPF中的樣式


備註

介紹性發言

在WPF中, Style定義給定可視元素的一個或多個依賴項屬性的值。整個應用程序使用樣式以使用戶界面更加一致(例如,為所有對話框按鈕提供一致的大小),並使批量更改更容易(例如,更改所有按鈕的寬度。)

樣式通常在應用程序中的高級ResourceDictionary中定義(例如在App.xaml或主題中),因此它可以在應用程序範圍內使用,但也可以為單個元素及其子元素定義,例如應用樣式到StackPanel內的所有TextBlock元素。

<StackPanel>
    <StackPanel.Resources>
        <Style TargetType="TextBlock">
            <Setter Property="Margin" Value="5,5,5,0"/>
            <Setter Property="Background" Value="#FFF0F0F0"/>
            <Setter Property="Padding" Value="5"/>
        </Style>
    </StackPanel.Resources>
        
    <TextBlock Text="First Child"/>
    <TextBlock Text="Second Child"/>
    <TextBlock Text="Third Child"/>      
</StackPanel>

重要筆記

  • 定義樣式的位置會影響它的可用位置。
  • StaticResource無法解析轉發引用。換句話說,如果您要定義依賴於資源字典中的另一個樣式或資源的樣式,則必須在它所依賴的資源之後/之下定義它。
  • StaticResource是引用樣式和其他資源(出於性能和行為原因)的推薦方法,除非您特別要求使用DynamicResource ,例如,對於可在運行時更改的主題。

資源

MSDN上有關於樣式和資源的詳盡文章,這些文章的深度超出了這裡提供的深度。

WPF中的樣式 相關例子