Silverlight - 邊框



在佈局使用者介面時,另一個需要牢記的有用元素是邊框(Border)。它不是一個面板,因為它只能包含一個子元素,但它通常用於在佈局中引入一些額外的空間。

  • 它允許您在邊框外部新增邊距(Margin),並在內容周圍新增填充(Padding)。

  • 顧名思義,它還可以在其內容周圍繪製邊框。

  • 這是一個矩形邊框,可以選擇圓角。例如,假設我想在我的 ScrollViewer 中的形狀周圍新增一些空間和輪廓。

以下是Border類的常用屬性

序號 屬性及描述
1

ActualHeight

獲取 FrameworkElement 的渲染高度。請參閱備註。(繼承自 FrameworkElement)

2

ActualWidth

獲取 FrameworkElement 的渲染寬度。請參閱備註。(繼承自 FrameworkElement)

3

AllowDrop

獲取或設定一個值,該值確定此 UIElement 是否可以作為拖放操作的放置目標。(繼承自 UIElement)

4

Background

獲取或設定填充邊框背景(內部區域)的畫刷。

5

BackgroundProperty

標識 Background 依賴項屬性。

6

CanDrag

獲取或設定一個值,該值指示元素是否可以作為拖放操作中的資料被拖動。(繼承自 UIElement)

7

Child

獲取或設定要在其周圍繪製邊框的子元素。

8

Height

獲取或設定 FrameworkElement 的建議高度。(繼承自 FrameworkElement)

9

HorizontalAlignment

獲取或設定當 FrameworkElement 在佈局父級(如面板或專案控制元件)中組合時應用於它的水平對齊特徵。(繼承自 FrameworkElement)

10

Margin

獲取或設定 FrameworkElement 的外部邊距。(繼承自 FrameworkElement)

11

MaxHeight

獲取或設定 FrameworkElement 的最大高度約束。(繼承自 FrameworkElement)

12

MaxWidth

獲取或設定 FrameworkElement 的最大寬度約束。(繼承自 FrameworkElement)

13

MinHeight

獲取或設定 FrameworkElement 的最小高度約束。(繼承自 FrameworkElement)

14

MinWidth

獲取或設定 FrameworkElement 的最小寬度約束。(繼承自 FrameworkElement)

15

Name

獲取或設定物件的標識名稱。當 XAML 處理器從 XAML 標記建立物件樹時,執行時程式碼可以透過此名稱引用 XAML 宣告的物件。(繼承自 FrameworkElement)

16

Opacity

獲取或設定物件的透明度。(繼承自 UIElement)

17

Padding

獲取或設定邊框與其子物件之間的距離。

18

Resources

獲取本地定義的資源字典。在 XAML 中,您可以將資源項作為 frameworkElement.Resources 屬性元素的子物件元素建立,透過 XAML 隱式集合語法。(繼承自 FrameworkElement)

19

Style

獲取或設定在佈局和渲染期間應用於此物件的例項樣式。(繼承自 FrameworkElement)

20

VerticalAlignment

獲取或設定當 FrameworkElement 在父物件(如面板或專案控制元件)中組合時應用於它的垂直對齊特徵。(繼承自 FrameworkElement)

21

Visibility

獲取或設定 UIElement 的可見性。不可見的 UIElement 不會呈現,也不會將其所需的大小傳達給佈局。(繼承自 UIElement)

22

Width

獲取或設定 FrameworkElement 的寬度。(繼承自 FrameworkElement)

Border 類具有以下方法。它還繼承自Object類的方法

序號 方法及描述
1

Arrange

定位子物件並確定UIElement的大小。實現其子元素自定義佈局的父物件應從其佈局重寫實現中呼叫此方法,以形成遞迴佈局更新。(繼承自 UIElement)

2

ArrangeOverride

提供佈局的 Arrange 階段的行為。類可以重寫此方法以定義其自己的 Arrange 階段行為。(繼承自 FrameworkElement)

3

FindName

檢索具有指定識別符號名稱的物件。(繼承自 FrameworkElement)

4

GetValue

從 DependencyObject 返回依賴項屬性的當前有效值。(繼承自 DependencyObject)

5

SetBinding

使用提供的繫結物件將繫結附加到 FrameworkElement。(繼承自 FrameworkElement)

6

SetValue

設定 DependencyObject 上依賴項屬性的本地值。(繼承自 DependencyObject)

7

StartDragAsync

啟動拖放操作。(繼承自 UIElement)

8

UpdateLayout

確保 UIElement 的所有子物件的位置都已正確更新以進行佈局。(繼承自 UIElement)

Border 類具有以下事件 -

序號 事件及描述
1

DragEnter

當輸入系統報告以該元素為目標的基礎拖動事件時發生。(繼承自 UIElement)

2

DragLeave

當輸入系統報告以該元素為源的基礎拖動事件時發生。(繼承自 UIElement)

3

DragOver

當輸入系統報告以該元素為潛在放置目標的基礎拖動事件時發生。(繼承自 UIElement)

4

DragStarting

當拖動操作啟動時發生。(繼承自 UIElement)

5

Drop

當輸入系統報告以該元素為放置目標的基礎放置事件時發生。(繼承自 UIElement)

6

DropCompleted

當拖放操作結束時發生。(繼承自 UIElement)

7

KeyDown

當 UIElement 具有焦點時按下鍵盤鍵時發生。(繼承自 UIElement)

8

KeyUp

當 UIElement 具有焦點時釋放鍵盤鍵時發生。(繼承自 UIElement)

9

LayoutUpdated

當可視化樹的佈局發生更改時發生,這是由於佈局相關屬性的值發生更改或某些其他重新整理佈局的操作。(繼承自 FrameworkElement)

10

Loaded

當 FrameworkElement 已構造並新增到物件樹中,並且已準備好進行互動時發生。(繼承自 FrameworkElement)

11

Loading

當 FrameworkElement 開始載入時發生。(繼承自 FrameworkElement)

12

ManipulationCompleted

當對 UIElement 的操作完成時發生。(繼承自 UIElement)

示例

讓我們看一個簡單的示例,其中添加了邊框和內部邊框矩形。

<UserControl x:Class = "ScrollViewerExample.MainPage" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" 
   xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" 
   mc:Ignorable = "d" 
   d:DesignHeight = "300" d:DesignWidth = "400">
   
   <Grid x:Name = "LayoutRoot" Background = "White"> 
	
      <Border BorderBrush = "Blue" BorderThickness = "10" 
         Margin = "5" CornerRadius = "80" Padding = "80"> 
            <Rectangle Fill = "Gray" Width = "116" Height = "75" />  
      </Border>  
		
   </Grid> 
	
</UserControl>

當編譯並執行上述程式碼時,您將看到以下輸出。

Border Rectangle

Border 透過CornerRadius屬性支援圓角。

silverlight_constrained_vs_unconstrained.htm
廣告