ListItem.Margin 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定項目的邊界粗細。
public:
property System::Windows::Thickness Margin { System::Windows::Thickness get(); void set(System::Windows::Thickness value); };
public System.Windows.Thickness Margin { get; set; }
member this.Margin : System.Windows.Thickness with get, set
Public Property Margin As Thickness
屬性值
Thickness 結構,指定要套用的邊界數量 (以與裝置無關的像素為單位)。 預設值是粗細一致的零 (0.0)。
範例
下列範例示範如何設定 Margin Block 專案的屬性 () Paragraph 。
<FlowDocument Background="LightSlateGray" ColumnWidth="2000">
<Section Background="DarkMagenta" Margin="0" Padding="0">
<Paragraph Background="White">
<Run>Default paragraph.</Run>
</Paragraph>
<Paragraph Background="White">
<Run>Default paragraph.</Run>
</Paragraph>
<Paragraph Background="LightBlue" Margin="50">
<Run>This paragraph has a magin of 50 pixels set, but no padding.</Run>
</Paragraph>
<Paragraph Background="LightCoral" Padding="50">
<Run>This paragraph has padding of 50 pixels set, but no margin.</Run>
</Paragraph>
<Paragraph Background="LightGreen" Margin="50" Padding="50">
<Run>This paragraph has both padding and margin set to 50 pixels.</Run>
</Paragraph>
<Paragraph Background="White">
<Run>Default paragraph.</Run>
</Paragraph>
<Paragraph Background="White">
<Run>Default paragraph.</Run>
</Paragraph>
</Section>
</FlowDocument>
下圖顯示此範例的轉譯方式。 彩色粗細和色彩用於圖例。
下列範例示範如何以程式設計方式設定 Margin 屬性。
FlowDocument flowDoc = new FlowDocument();
Section sec = new Section();
flowDoc.Background = Brushes.LightSlateGray;
flowDoc.ColumnWidth = 2000;
sec.Background = Brushes.DarkMagenta;
sec.Padding = sec.Margin = new Thickness(0);
Paragraph defPar1 = new Paragraph(new Run("Default paragraph."));
Paragraph defPar2 = new Paragraph(new Run("Default paragraph."));
Paragraph defPar3 = new Paragraph(new Run("Default paragraph."));
Paragraph defPar4 = new Paragraph(new Run("Default paragraph."));
defPar1.Background = defPar2.Background = defPar3.Background = defPar4.Background = Brushes.White;
Paragraph marginPar = new Paragraph(new Run("This paragraph has a magin of 50 pixels set, but no padding."));
marginPar.Background = Brushes.LightBlue;
marginPar.Margin = new Thickness(50);
Paragraph paddingPar = new Paragraph(new Run("This paragraph has padding of 50 pixels set, but no margin."));
paddingPar.Background = Brushes.LightCoral;
paddingPar.Padding = new Thickness(50);
Paragraph marginPaddingPar = new Paragraph(new Run("This paragraph has both padding and margin set to 50 pixels."));
marginPaddingPar.Background = Brushes.LightGreen;
marginPaddingPar.Padding = marginPaddingPar.Margin = new Thickness(50);
sec.Blocks.Add(defPar1);
sec.Blocks.Add(defPar2);
sec.Blocks.Add(marginPar);
sec.Blocks.Add(paddingPar);
sec.Blocks.Add(marginPaddingPar);
sec.Blocks.Add(defPar3);
sec.Blocks.Add(defPar4);
flowDoc.Blocks.Add(sec);
Dim flowDoc As New FlowDocument()
Dim sec As New Section()
flowDoc.Background = Brushes.LightSlateGray
flowDoc.ColumnWidth = 2000
sec.Background = Brushes.DarkMagenta
sec.Margin = New Thickness(0)
sec.Padding = sec.Margin
Dim defPar1 As New Paragraph(New Run("Default paragraph."))
Dim defPar2 As New Paragraph(New Run("Default paragraph."))
Dim defPar3 As New Paragraph(New Run("Default paragraph."))
Dim defPar4 As New Paragraph(New Run("Default paragraph."))
defPar4.Background = Brushes.White
defPar3.Background = defPar4.Background
defPar2.Background = defPar3.Background
defPar1.Background = defPar2.Background
Dim marginPar As New Paragraph(New Run("This paragraph has a magin of 50 pixels set, but no padding."))
marginPar.Background = Brushes.LightBlue
marginPar.Margin = New Thickness(50)
Dim paddingPar As New Paragraph(New Run("This paragraph has padding of 50 pixels set, but no margin."))
paddingPar.Background = Brushes.LightCoral
paddingPar.Padding = New Thickness(50)
Dim marginPaddingPar As New Paragraph(New Run("This paragraph has both padding and margin set to 50 pixels."))
With marginPaddingPar
.Background = Brushes.LightGreen
.Margin = New Thickness(50)
.Padding = marginPaddingPar.Margin
End With
sec.Blocks.Add(defPar1)
sec.Blocks.Add(defPar2)
sec.Blocks.Add(marginPar)
sec.Blocks.Add(paddingPar)
sec.Blocks.Add(marginPaddingPar)
sec.Blocks.Add(defPar3)
sec.Blocks.Add(defPar4)
flowDoc.Blocks.Add(sec)
備註
Margin 是落在元素內容區域外部的緩衝區空間,位於元素內容區域的邊緣與父元素邊緣之間。 Padding與 相反地,這是落在專案內容區域內的緩衝區空間,位於元素的內容與元素的內部邊緣之間。
XAML Attribute Usage
<object Margin="uniformThickness"/>
- or -
<object Margin="independentThickness"/>
- or -
<object Margin="qualifiedUniformThickness"/>
- or -
<object Margin="qualifiedIndependentThickness"/>
XAML 值
uniformThickness
單 Double 一值的字串表示,以統一套用至所有四個粗細維度。 例如, 的值 "10"
相當於 的值 "10,10,10,10"
。 不合格的值是以裝置獨立圖元來測量。 字串不需要明確包含小數點。
independentThickness
四個排序 Double 值的字串表示,以這個順序對應至左、上、右和下的獨立粗細維度。 這四個值必須以逗號分隔;不允許空格。 例如,「5,10,15,20」 會產生內容左邊的邊界 5 圖元、內容上方 10 圖元的邊界、內容右邊 15 圖元的邊界,以及內容下方 20 圖元的邊界。
qualifiedUniformThickness
由 uniformThickness 所描述的值,後面接著下列其中一個單位規範: px
、 in
。
px
(預設) 是裝置獨立單位 (,每單位 1/96 英吋)
in
為英吋;1in==96px
例如, "1in"
提供所有方向的統一邊界 1 英吋。
qualifiedIndependentThickness
independentThickness 所描述的值,每個獨立值後面接著下列其中一個單位規範: px
、 in
。
px
(預設) 是裝置獨立單位 (,每單位 1/96 英吋)
in
為英吋;1in==96px
例如: "1.5in,0.8in,1.5in,0.8in"
。 單位規範可以從一或多個值混合或省略。
相依性屬性資訊
識別碼欄位 | MarginProperty |
中繼資料屬性設定為 true |
AffectsMeasure |