关于ControlTemplate 3
1.ControlTemplate 就是我们常说的控件模板,主要用途是更改控件的外观,比如你要修改一个Button的形状是圆形的,改变背景颜色,定制动画效果等等。
下面举例说明它的应用,一个简单的例子就是我们想把TabControl的tab页放在下面,那么就可以这样修改TabControl的style
1 <Style TargetType="{x:Type TabControl}" x:Key="ButtomTab"> 2 <Setter Property="Template"> 3 <Setter.Value> 4 <ControlTemplate TargetType="{x:Type TabControl}"> 5 <Grid> 6 <Grid.RowDefinitions> 7 <RowDefinition Height="*"/> 8 <RowDefinition Height="Auto"/> 9 </Grid.RowDefinitions> 10 <TabPanel Grid.Row="1" Panel.ZIndex="1" Margin="0" IsItemsHost="True" Background="Transparent" /> 11 <Border Grid.Row="0" Background="White" BorderThickness="1 0 1 0" CornerRadius="0" > 12 <ContentPresenter ContentSource="SelectedContent" /> 13 </Border> 14 </Grid> 15 </ControlTemplate> 16 </Setter.Value> 17 </Setter> 18 </Style>
从代码中我们可以看到ControlTemplate 里面是一个Grid然后你可以布局它的TabPanel的位置,我们把TabPanel 的属性设置为Grid.Row="1" 这样就使得TabPanel 放在了内容 ContentPresenter 的下面 这样我们就可以得到一个tab页在下面的tabcontrol控件。
另外在controltemplate里面还有个非常重要的概念就是trigger。
为了方便大家写style 特别奉上wpf的style大全
从此,妈妈再也不用担心我的wpf,哪里不会点哪里,so easy!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· .NET Core GC压缩(compact_phase)底层原理浅谈
· Winform-耗时操作导致界面渲染滞后
· Phi小模型开发教程:C#使用本地模型Phi视觉模型分析图像,实现图片分类、搜索等功能
· 语音处理 开源项目 EchoSharp