当前位置: 首页 > news >正文

C# Avalonia 17- ControlTemplates - MultiPartTemplates

MultiPartTemplates.axaml代码

<Window xmlns="https://github.com/avaloniaui"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"Height="239" Width="248"x:Class="AvaloniaUI.MultiPartTemplates"Title="MultiPartTemplates"><Window.Resources><!-- ===== 基础画刷定义 ===== --><SolidColorBrush x:Key="StandardBorderBrush" Color="#888" /><SolidColorBrush x:Key="StandardBackgroundBrush" Color="#FFF" /><SolidColorBrush x:Key="HoverBorderBrush" Color="#DDD" /><SolidColorBrush x:Key="SelectedBackgroundBrush" Color="Blue" /><SolidColorBrush x:Key="SelectedForegroundBrush" Color="White" /><SolidColorBrush x:Key="GlyphBrush" Color="#444" /><LinearGradientBrush x:Key="ListBoxBackgroundBrush" StartPoint="0,0" EndPoint="1,0.001"><GradientStop Offset="0.0" Color="White" /><GradientStop Offset="0.6" Color="White" /><GradientStop Offset="1.2" Color="#DDDDDD" /></LinearGradientBrush><LinearGradientBrush x:Key="StandardBrush" StartPoint="0,0" EndPoint="0,1"><GradientStop Offset="0.0" Color="#FFF" /><GradientStop Offset="1.0" Color="#CCC" /></LinearGradientBrush><LinearGradientBrush x:Key="PressedBrush" StartPoint="0,0" EndPoint="0,1"><GradientStop Offset="0.0" Color="#BBB" /><GradientStop Offset="0.1" Color="#EEE" /><GradientStop Offset="0.9" Color="#EEE" /><GradientStop Offset="1.0" Color="#FFF" /></LinearGradientBrush></Window.Resources><Window.Styles><!-- ========== ListBox 样式 ========== --><Style Selector="ListBox"><Setter Property="Background" Value="{StaticResource StandardBackgroundBrush}"/><Setter Property="BorderBrush" Value="{StaticResource StandardBorderBrush}"/><Setter Property="BorderThickness" Value="1"/><Setter Property="CornerRadius" Value="3"/><Setter Property="Padding" Value="2"/><Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/><Setter Property="Template"><ControlTemplate><Border Background="{TemplateBinding Background}"BorderBrush="{TemplateBinding BorderBrush}"BorderThickness="{TemplateBinding BorderThickness}"CornerRadius="{TemplateBinding CornerRadius}"><ScrollViewer Focusable="False"><ItemsPresenter Margin="{TemplateBinding Padding}"/></ScrollViewer></Border></ControlTemplate></Setter></Style><!-- ========== ListBoxItem 样式 ========== --><Style Selector="ListBoxItem"><Setter Property="Padding" Value="4,2"/><Setter Property="CornerRadius" Value="3"/><Setter Property="Background" Value="Transparent"/><Setter Property="BorderBrush" Value="Transparent"/><Setter Property="BorderThickness" Value="2"/><Setter Property="Transitions"><Transitions><DoubleTransition Property="FontSize" Duration="0:0:0.2"/><BrushTransition Property="Background" Duration="0:0:0.2"/></Transitions></Setter><Setter Property="Template"><ControlTemplate><Border Name="Border"BorderThickness="{TemplateBinding BorderThickness}"BorderBrush="{TemplateBinding BorderBrush}"Background="{TemplateBinding Background}"CornerRadius="{TemplateBinding CornerRadius}"Padding="{TemplateBinding Padding}"><ContentPresenter Content="{TemplateBinding Content}"ContentTemplate="{TemplateBinding ContentTemplate}"HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/></Border></ControlTemplate></Setter><!-- 鼠标Hover状态 --><Style Selector="^:pointerover"><Setter Property="BorderBrush" Value="{StaticResource HoverBorderBrush}"/><Style.Animations><Animation Duration="0:0:1" PlaybackDirection="Alternate" IterationCount="2"><KeyFrame Cue="0%"><Setter Property="FontSize" Value="14"/></KeyFrame><KeyFrame Cue="100%"><Setter Property="FontSize" Value="20"/></KeyFrame></Animation></Style.Animations></Style><!--选中状态--><Style Selector="^:selected"><Setter Property="Background" Value="{StaticResource SelectedBackgroundBrush}"/><Setter Property="Foreground" Value="{StaticResource SelectedForegroundBrush}"/></Style>    </Style><!-- 垂直 ScrollBar 模板 --><Style Selector="ListBox /template/ ScrollViewer /template/ ScrollBar:vertical"><Setter Property="Width" Value="15"/><Setter Property="Template"><ControlTemplate><Grid RowDefinitions="18,*,18"><RepeatButton Grid.Row="0" Name="PART_LineUpButton" Background="{StaticResource StandardBackgroundBrush}"><Path Fill="{StaticResource GlyphBrush}"Data="M 0 4 L 8 4 L 4 0 Z"Width="8" Height="4" /></RepeatButton><Track Grid.Row="1"Name="PART_Track"Minimum="{TemplateBinding Minimum}"Maximum="{TemplateBinding Maximum}"        Value="{TemplateBinding Value, Mode=TwoWay}"    ViewportSize="{TemplateBinding ViewportSize}"Orientation="{TemplateBinding Orientation}"IsDirectionReversed="True"><Track.Thumb><Thumb Name="PART_Thumb"/></Track.Thumb></Track><RepeatButton Grid.Row="2" Name="PART_LineDownButton" Background="{StaticResource StandardBackgroundBrush}"><Path Fill="{StaticResource GlyphBrush}"Data="M 0 0 L 4 4 L 8 0 Z"Width="8" Height="4" /></RepeatButton></Grid></ControlTemplate></Setter></Style><!-- 滚动条 Thumb --><Style Selector="ListBox /template/ ScrollViewer /template/ ScrollBar /template/ Thumb"><Setter Property="Background" Value="{StaticResource StandardBackgroundBrush}" /><Setter Property="BorderBrush" Value="{StaticResource StandardBorderBrush}" /><Setter Property="BorderThickness" Value="1" /><Setter Property="CornerRadius" Value="12" /><Setter Property="Template"><ControlTemplate><Border Background="{TemplateBinding Background}"BorderBrush="{TemplateBinding BorderBrush}"BorderThickness="{TemplateBinding BorderThickness}"CornerRadius="{TemplateBinding CornerRadius}" /></ControlTemplate></Setter><!-- 鼠标悬停状态 --><Style Selector="^:pointerover"><Setter Property="Background" Value="{StaticResource HoverBorderBrush}" /><Setter Property="BorderBrush" Value="{StaticResource HoverBorderBrush}" /></Style><!-- 鼠标离开状态 --><Style Selector="^:not(:pointerover)"><Setter Property="Background" Value="{StaticResource StandardBackgroundBrush}" /><Setter Property="BorderBrush" Value="{StaticResource StandardBorderBrush}" /></Style></Style></Window.Styles><Grid Margin="10"><ListBox><ListBoxItem>🍎 Apple</ListBoxItem><ListBoxItem>🍌 Banana</ListBoxItem><ListBoxItem>🍇 Grape</ListBoxItem><ListBoxItem>🍊 Orange</ListBoxItem><ListBoxItem>🍉 Watermelon</ListBoxItem><ListBoxItem>🍓 Strawberry</ListBoxItem><ListBoxItem>🍍 Pineapple</ListBoxItem><ListBoxItem>🥝 Kiwi</ListBoxItem><ListBoxItem>🍒 Cherry</ListBoxItem><ListBoxItem>🍑 Peach</ListBoxItem></ListBox></Grid>
</Window>

MultiPartTemplates.axaml.cs代码

using Avalonia;
using Avalonia.Controls;namespace AvaloniaUI;public partial class MultiPartTemplates : Window
{public MultiPartTemplates(){InitializeComponent();}
}

运行效果

image

 

http://www.zskr.cn/news/37204.html

相关文章:

  • 电子丨PCB设计中的“3W原则”和“20H原则”
  • 电子丨导通占空比
  • [SWPUCTF 2022 新生赛]奇妙的MD5 WP
  • 静电服对人体是安全的
  • CSP-S 2025 差点(貌似真的)坠机记
  • 题解:CF983E NN country
  • 软件技术基础的第二次作业
  • langgraph-reflection
  • 学习日报11.2
  • 2025CSP-S游记
  • [KaibaMath]1017 关于收敛数列与其子数列之间的关系定理的证明
  • 操作系统软考复习总结
  • 2025 年 11 月 Pogopin 弹簧针厂家推荐排行榜,精密测试针,医疗传感器,手机连接器,声学弹簧,仪表锁具,座椅检测优质公司推荐!
  • Redis单机和集群搭建
  • 2025 年 11 月铣刀厂家推荐排行榜,雕刻机铣刀,金刚石铣刀,木工铣刀,绝缘材料铣刀,碳纤维铣刀,亚克力铣刀,金属加工铣刀公司推荐
  • 电子丨LDO与DC-DC电源管理器件
  • 市面上常见显示屏接口与对应的引脚 - 详解
  • 2025年10月文章一览
  • 002 vue3-admin项目的目录及文件说明
  • 2025 年 11 月超滤膜厂家最新推荐,产能、专利、环保三维数据透视
  • Ai复习
  • 2025 年 11 月风管厂家推荐排行榜,螺旋风管,不锈钢风管,镀锌板风管,排烟风管,通风管道,消音风管厂家专业推荐
  • 2025 年 11 月集装袋厂家最新推荐,技术实力与市场口碑深度解析
  • 2025 年 11 月立式砂磨机厂家推荐排行榜,立式纳米砂磨机,小型立式砂磨机,高效研磨设备专业选购指南
  • 2025 年 11 月中央空调厂家推荐排行榜,美的中央空调,海信中央空调,大金中央空调,格力中央空调,约克中央空调,商用中央空调,中央空调安装,中央空调维修,海尔中央空调,家用中央空调,工业中央空调
  • 2025 年 11 月高尔夫学院推荐排行榜,高尔夫培训,高尔夫教学,高尔夫教练,专业指导与课程体系深度解析
  • 软件技术基础B第二次作业
  • 2025 年 11 月三层绝缘线厂家推荐排行榜,东特,大亚,TOTOKU,FURUKAWA,TIW-2,TIW-3,TIW-4,TIW-E,TIW-2S,TEX-E 三层绝缘线公司推荐
  • CSP-S2025 员工招聘
  • 2025 年 11 月气动执行器厂家推荐排行榜,齿轮齿条执行器,拨叉式执行器,角行程执行器,不锈钢执行器,三段式执行器,快速执行器,执行器附件公司推荐