Silverlight - Border 边框
布局用户界面时要记住的另一个有用元素是边框。 这不是一个面板,因为它只能包含一个子面板,但它通常对于在布局中引入一些额外的空间很有用。
它允许您在边框外部添加边距,并在内容周围添加内边距。
顾名思义,它还可以在其内容周围绘制边框。
这是一个带有可选圆角的矩形边框。 例如,假设我想要在 ScrollViewer 中的形状周围有一点空间和轮廓。
下面给出的是Border类的常用属性。
Sr. No. | 属性和描述 |
---|---|
1 | ActualHeight 获取 FrameworkElement 的渲染高度。 参见备注。 (继承自FrameworkElement) |
2 | ActualWidth 获取 FrameworkElement 的渲染宽度。 参见备注。 (继承自FrameworkElement) |
3 | AllowDrop 获取或设置一个值,该值确定此 UIElement 是否可以作为拖放操作的放置目标。 (继承自UIElement) |
4 | Background 获取或设置填充边框背景(内部区域)的画笔。 |
5 | BackgroundProperty 标识后台依赖属性。 |
6 | CanDrag 获取或设置一个值,该值指示元素是否可以在拖放操作中作为数据进行拖动。 (继承自UIElement) |
7 | Child 获取或设置要绘制边框的子元素。 |
8 | Height 获取或设置 FrameworkElement 的建议高度。 (继承自FrameworkElement) |
9 | HorizontalAlignment 获取或设置在布局父级(例如面板或项目控件)中组合 FrameworkElement 时应用于该 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 中,您可以通过 XAML 隐式集合语法将资源项建立为 FrameworkElement.Resources 属性元素的子对象元素。 (继承自FrameworkElement) |
19 | Style 获取或设置在布局和渲染期间应用于此对象的实例 Style。 (继承自FrameworkElement) |
20 | VerticalAlignment 获取或设置在父对象(例如面板或项控件)中组成 FrameworkElement 时应用于该 FrameworkElement 的垂直对齐特征。 (继承自FrameworkElement) |
21 | Visibility 获取或设置 UIElement 的可见性。 不可见的 UIElement 不会被渲染,并且不会将其所需的大小传达给布局。 (继承自UIElement) |
22 | Width 获取或设置 FrameworkElement 的宽度。 (继承自FrameworkElement) |
Border 类具有这些方法。 它还从 Object 类继承方法。
Sr. No. | 方法及描述 |
---|---|
1 | Arrange 定位子对象并确定 UIElement 的大小。 为其子元素实现自定义布局的父对象应从其布局覆盖实现中调用此方法,以形成递归布局更新。 (继承自UIElement) |
2 | ArrangeOverride 提供布局的排列过程的行为。 类可以重写此方法来定义它们自己的排列传递行为。 (继承自FrameworkElement) |
3 | FindName 检索具有指定标识符名称的对象。 (继承自FrameworkElement) |
4 | GetValue 从 DependencyObject 返回依赖属性的当前有效值。 (继承自DependencyObject) |
5 | SetBinding 使用提供的绑定对象将绑定附加到 FrameworkElement。 (继承自FrameworkElement) |
6 | SetValue 设置 DependencyObject 上的依赖属性的本地值。 (继承自DependencyObject) |
7 | StartDragAsync 启动拖放操作。 (继承自UIElement) |
8 | UpdateLayout 确保 UIElement 子对象的所有位置均已正确更新以进行布局。 (继承自UIElement) |
Border类有以下事件 −
Sr. No. | 事件和描述 |
---|---|
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>
编译并执行上述代码后,您将看到以下输出。
边框通过 CornerRadius 属性支持圆角边缘。
silverlight_constrained_vs_unconstrained.html