如何在實際程式碼中使用它
概括我們上面已經證明的內容:單個事物包含 半空白 的固定邊距,並且它們所容納的容器應該具有 半空白 的填充。你可以在應用程式資源字典中應用這些樣式,然後你甚至不需要在單個專案上提及它們。以下是你可以定義 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 等)。
完成此操作後,大多數控制元件都不需要邊距和填充 - 你只需要在有意偏離此設計原則的位置指定值。