Panel内容模型

本文介绍了WPF中的Panel内容模型,包括Canvas、DockPanel等容器的使用,强调了Children属性及其在XAML和代码中的应用。同时,文章探讨了Decorator内容模型,如Border和AdornerDecorator,用于修饰子元素的边缘,并展示了如何在XAML和代码中创建带边框的TextBox。
摘要由CSDN通过智能技术生成

Panel内容模型指从System.Windows.Controls.Panel继承的控件,这些控件都是容器,可以在内部承载其他的控件和子容器。Panel内容模型包含的容器有:

Canvas

DockPanel

Grid

TabPanel

ToolBarOverflowPanel

UniformGrid

StackPanel

ToolBarPanel

VirtualizingPanel

VirtualizingStackPanel

WrapPane

对于Panel模型,其包含一个Children属性,表示其所有的子控件和子容器的集合,在XAML代码中可以省略<XXX.Children>标记,如:

<StackPanel x:Name="mainPanel">

<StackPanel x:Name="panelA">

<StackPanel.Children>

<Button>Button A</Button>

</StackPanel.Children>

</StackPanel>

<Button>Button B</Button>

<StackPanel x:Name="panelB">

</StackPanel>

</StackPanel>

 

也可以通过代码,动态添加Children中的对象

// 定义一个Button

Button btn = new Button();

btn.Content = "Button C";

5: // 将Button添加到StackPanel中

panelB.Children.Add(btn);

 

Decorator内容模型

 

Decorator内容模型指的是从System.Windows.Controls.Decorator类继承的控件,主要是对其中的一个子元素的边缘进行修饰。Decorator模型的主要控件包含:

 

AdornerDecorator

Border

InlineUIContainer

BulletDecorator

ButtonChrome

ClassicBorderDecorator

InkPresenter

ListBoxChrome

SystemDropShadowChrome

Viewbox

 

Decorator模型包含一个Child属性,表示其包含的一个子元素(注意,只能是一个子元素(控件或容器,在容器中可以再添加其他的控件)),Child属性的XAML标记可以省略。

例如,对于一个TextBox添加一个边框,使用XAML语言定义:

<StackPanel x:Name="mainPanel">

<Border BorderThickness="5" BorderBrush="DarkBlue" Margin="5">

<Border.Child>

<TextBox Text="TextBox Content"/>

</Border.Child>

</Border>

</StackPanel>

也可以使用代码完成上述功能:

// 定义一个Border对象,并设置其边框的大小,颜色,外边距

Border border = new Border();

border.BorderThickness = new Thickness(5);

border.BorderBrush = new SolidColorBrush(Colors.DarkRed);

border.Margin = new Thickness(5);

// 定义一个TextBox对象

TextBox textBox = new TextBox();

textBox.Text = "TextBox Content Text";

// 使用Border修饰TextBox的边框

border.Child = textBox;

// 将Border添加到StackPanel中

mainPanel.Children.Add(border);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值