如何在實際程式碼中使用它

概括我們上面已經證明的內容:單個事物包含 半空白 的固定邊距,並且它們所容納的容器應該具有 半空白填充。你可以在應用程式資源字典中應用這些樣式,然後你甚至不需要在單個專案上提及它們。以下是你可以定義 HalfTheWhiteSpace 的方法:

<system:Double x:Key="DefaultMarginSize">2</system:Double>
<Thickness x:Key="HalfTheWhiteSpace" Left="{StaticResource DefaultMarginSize}" Top="{StaticResource DefaultMarginSize}" Right="{StaticResource DefaultMarginSize}" Bottom="{StaticResource DefaultMarginSize}"/>

然後我可以定義一個基本樣式來基於我的其他控制元件樣式:(這也可以包含你的預設 FontFamily,FontSize 等等)

<Style x:Key="BaseStyle" TargetType="{x:Type Control}">
    <Setter Property="Margin" Value="{StaticResource HalfTheWhiteSpace}"/>
</Style>

然後我可以為 TextBox 定義我的預設樣式以使用此邊距:

<Style TargetType="TextBox" BasedOn="{StaticResource BaseStyle}"/>

我可以為 DatePickers,Labels 等等做任何事情(可能在容器中儲存的任何東西)。小心像這樣的 TextBlock 樣式……該控制元件在很多控制元件內部使用。我建議你建立自己的控制元件,它只是從 TextBlock 派生。你可以風格的 TextBlock 使用預設的邊距; 你應該用你的,只要你明確地使用一個 TextBlock 在 XAML 的 TextBlock。

你可以使用類似的方法將填充應用於常見容器(例如 ScrollViewer,Border 等)。

完成此操作後,大多數控制元件都不需要邊距和填充 - 你只需要在有意偏離此設計原則的位置指定值。