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

C# Avalonia 19- DataBinding- ExpandingDataTemplate

ExpandingDataTemplate.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="424" Width="355"xmlns:local="using:AvaloniaUI.Demos.Book._19.StoreDatabase"x:Class="AvaloniaUI.ExpandingDataTemplate"Title="ExpandingDataTemplate"><Window.Resources><local:ImagePathToBitmapConverter x:Key="ImagePathConverter"/><DataTemplate x:Key="ProductTemplate"x:DataType="local:Product"><Grid Background="White"><!-- Border 背景绑定到 ListBoxItem.Background,这样选中时改变 ListBoxItem 背景,Border 会跟着变 --><Border Margin="5"BorderThickness="1"BorderBrush="SteelBlue"CornerRadius="4"Background="{Binding $parent[ListBoxItem].Background}"><StackPanel Margin="3"><!-- 始终显示的部分 --><TextBlock Text="{Binding ModelName}" /><!-- 只在选中时显示的部分:用 IsVisible 绑定父 ListBoxItem.IsSelected --><StackPanel Margin="3"IsVisible="{Binding $parent[ListBoxItem].IsSelected}"><TextBlock Margin="3"Text="{Binding Description}"TextWrapping="Wrap"MaxWidth="250"HorizontalAlignment="Left" /><Image Source="{Binding ProductImagePath,Converter={StaticResource ImagePathConverter}}" /><Button FontWeight="Normal"HorizontalAlignment="Right"Padding="1"Click="OnViewDetailsClick"Tag="{Binding .}">View Details...</Button></StackPanel></StackPanel></Border></Grid></DataTemplate></Window.Resources><ListBox x:Name="lstCategories"Grid.Row="1"Margin="10"HorizontalAlignment="Stretch"ItemTemplate="{StaticResource ProductTemplate}"><ListBox.Styles><!-- 取消默认 Padding --><Style Selector="ListBoxItem"><Setter Property="Padding" Value="0" /></Style><!-- 选中时改变字体和背景 --><Style Selector="ListBoxItem:selected"><Setter Property="FontWeight" Value="Bold" /><Setter Property="Background" Value="LightSteelBlue" /></Style></ListBox.Styles></ListBox>
</Window>

ExpandingDataTemplate.axaml.cs代码

using Avalonia;
using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Markup.Xaml;
using AvaloniaUI.Demos.Book._19.StoreDatabase;namespace AvaloniaUI;public partial class ExpandingDataTemplate : Window
{private StoreDb1 db = new StoreDb1();public ExpandingDataTemplate(){InitializeComponent();lstCategories.ItemsSource = db.GetProducts();}private void OnViewDetailsClick(object? sender, RoutedEventArgs e){}
}

运行效果

image

 

http://www.jsqmd.com/news/365604/

相关文章:

  • 2026年长春口碑好的游乐坦克供应商排名,室外游乐项目坦克选购指南 - 工业品网
  • 2026年河北质量可靠的橡胶减震垫制造厂排名,哪家性价比高? - 工业品网
  • 2026年液冷过滤公司推荐榜单:覆盖全场景应用、技术认证完备的五强权威认证 - 品牌推荐
  • ESD二极管以太网端口应用选型
  • 衡水联奥服务好不好盘点,2026年橡胶制品厂靠谱的都有谁? - 工业品牌热点
  • 2026年重庆口碑佳的橡胶异形件品牌供应商排名,推荐哪家靠谱 - mypinpai
  • 2026年锂电池过滤公司终极评测(权威机构双重背书)| 企业选型避坑全指南 - 品牌推荐
  • 房屋租赁管理系统(源码+数据库+文档)
  • 分享衡水联奥客户评价,看看其性价比和靠谱程度 - 工业推荐榜
  • 2026年河南性价比高的奢侈品回收店首饰、围巾与二手包包回收品牌 - 工业设备
  • 开封奢侈品回收性价比排名,芯动黄金名表名包奢侈品回收名列前茅 - mypinpai
  • P9505TJ
  • 医院场景下的智能物流变革:送药机器人核心技术解析与主流方案综述 - 智造出海
  • 2026年福州靠谱的英语培训企业汇总,费用怎么收取 - myqiye
  • 基于大数据的音乐推荐系统设计与实现_scrapy爬虫 可视化
  • 基于用户购物网购行为的商品推荐大数据可视化分析系统flask scrapy爬虫可视化
  • 2026年江苏地区靠谱的啤酒灌装设备企业排行,张家港德朗斯机械上榜 - 工业品牌热点
  • 2026年锂电池过滤公司推荐:针对金属杂质与凝胶污染痛点的全工艺链排名评测 - 品牌推荐
  • 基于大数据的增强可视化的IT招聘系统_ scrapy爬虫 可视化
  • 2026年度中国半导体过滤服务商TOP5综合评估与选型指南 - 品牌推荐
  • 2026年立柱式服务机器人行业深度解析与场景应用 - 智造出海
  • 百泰派克生物科技:多肽合成客户案例
  • 2026年半导体过滤公司推荐:晶圆制造全流程过滤方案深度评测与排名 - 品牌推荐
  • 工业显示屏:LVDS接口的驱动与控制电路
  • 2026年半导体过滤公司推荐:针对湿法工艺痛点评价,涵盖生产与维护多场景指南 - 品牌推荐
  • 2026最新!AI论文网站 千笔AI VS 万方智搜AI,专科生写作神器!
  • uniapp#x2B;deepseek流式ai助理|uniapp#x2B;vue3对接deepseek三端Ai问答模板
  • 赶deadline必备!顶尖配置的AI论文软件 —— 千笔·专业学术智能体
  • 2026年橡胶异形件性价比之选,看这些诚信供应商的实力 - 工业设备
  • 救命神器! 降AIGC工具 千笔·专业降AIGC智能体 VS speedai,MBA专属首选