继续聊WPF——BulletDecorator控件

 
这是一个很简单的控件,无非就是控制项目的布局方式,其布局方式只有两种:从左到右,从右到左。
一、从左到右
 

二、从右到左

布局方向由FlowDirection属性来决定,所以我说这个控件非常简单

上面的截图的XAML如下:

 


 

下面例子展示一个带文本框的项:

 

 

 

为什么这里都用到Label控件而不是TextBlock控件呢?你可以试试,如果放置TextBlock控件,就不能居中对齐了,BulletDecorator控件的Child内容如果是TextBlock的话,那么,Bullet将与其上端对齐,也就是Top,哪些是居中,它也始终保持与基线对齐,这个在MSDN上也有说明,因此,在BulletDecorator控件中如果希望放置文本内容但又希望其保持居中对齐的话,就得用TextBlock以外的控件,显示提示文本,Label控件非常合适。

 

BulletDecorator控件的Bullet属性用于指定在列表项中显示的项目符号,而Child属性才是放置内容的地方。

 

每个BulletDecorator控个只包含一个项,如果你希望多项按一定方向或次序排列的话,你应该将其放到一个StaticPanel中,当然,BulletDecorator更多的时候应当用于复杂控件的部件或某部分,因为BulletDecorator是在System.Windows.Controls.Primitives命名空间中定义的,该命名空间中定义的控件都是作为复杂控件模板的一部分而用的,比如这个BulletDecorator控件可用于CheckBox、ListBoxItem等控件模板的布局。


posted @   东邪独孤  阅读(1602)  评论(0编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示