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

C# Avalonia 19- DataBinding- CheckBoxList

CheckBoxList.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="300" Width="300"xmlns:local="using:AvaloniaUI.Demos.Book._19.StoreDatabase"x:Class="AvaloniaUI.CheckBoxListTest"Title="CheckBoxList"><Window.Styles><!-- 为特定的 ListBox(Class = checkbox-list)设置多选模式 --><Style Selector="ListBox.checkbox-list"><Setter Property="SelectionMode" Value="Multiple"/></Style><Style Selector="ListBox.checkbox-list ListBoxItem"><Setter Property="Margin" Value="2"/><Setter Property="Template"><ControlTemplate TargetType="ListBoxItem"><CheckBoxFocusable="False"IsChecked="{TemplateBinding IsSelected, Mode=TwoWay}"><ContentPresenter Content="{TemplateBinding Content}" /></CheckBox></ControlTemplate></Setter></Style></Window.Styles><Grid Margin="8" RowDefinitions="*,auto"><ListBox x:Name="lstProducts"Classes="checkbox-list"Grid.Row="0"><ListBox.ItemTemplate><DataTemplate x:DataType="local:Product"><TextBlock Text="{Binding ModelName}" /></DataTemplate></ListBox.ItemTemplate></ListBox><Button Grid.Row="1"Margin="0,5,0,0"Click="cmdGetSelectedItems">Get Selected Items</Button></Grid>
</Window>

CheckBoxList.axaml.cs代码

using Avalonia;
using Avalonia.Controls;
using Avalonia.Interactivity;
using AvaloniaUI.Demos.Book._19.StoreDatabase;
using Shares.Avalonia;namespace AvaloniaUI;public partial class CheckBoxListTest : Window
{private StoreDb1 db = new StoreDb1();public CheckBoxListTest(){InitializeComponent();lstProducts.ItemsSource = db.GetProducts();//this.Load("avares://Shares/Avalonia/Styles/Styles.axaml");}private void cmdGetSelectedItems(object? sender, RoutedEventArgs e){if (lstProducts.SelectedItems?.Count > 0){string items = "You selected: ";foreach (Product product in lstProducts.SelectedItems){items += "\n  * " + product.ModelName;}MessageBox.Show(this,items);}}
}

运行效果

image

 

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

相关文章:

  • 网盘直链下载助手搭配Fun-ASR:批量处理云端音频文件
  • Zoho Projects全生命周期:覆盖从构思到交付
  • 爆火!7款AI写论文神器半天生成3万字,真实参考文献!
  • 开源语音识别新星Fun-ASR:中文转写准确率提升50%
  • Yesware销售赋能:跟踪客户打开情况
  • Drip电商营销:促进GPU算力复购
  • SalesLoft客户旅程编排:提高成交率
  • Pspice安装一步到位:电力电子模型库加载指南
  • 深度剖析CCS软件中的断点与变量监控功能
  • 钉钉通义联合推出Fun-ASR,支持31种语言语音识别
  • AUTOSAR网络管理唤醒原理通俗解释
  • NVIDIA驱动版本要求:CUDA 11.8+才能启用GPU加速
  • 电子玩具发声秘籍:51单片机驱动蜂鸣器演奏歌曲
  • Pure Chat免安装:JS代码直接嵌入
  • Baidu AI Cloud文心大模型:对比竞品优势
  • MindMaster思维导图:梳理Fun-ASR功能结构
  • 从零实现Packet Tracer汉化(Windows环境)
  • JavaScript——文件处理工具函数
  • JavaScript——防抖节流工具函数
  • ActiveCampaign个性化旅程:根据行为触发动作
  • Wrike任务依赖分析:确保关键路径顺畅
  • Windows下解决未知usb设备(设备描述)的深度剖析
  • 如何在工业网关中集成RS485和RS232通信协议:项目应用
  • Sendinblue短信补充:重要通知不遗漏
  • GetResponse一体化平台:含网页构建器
  • 批量处理音频文件?Fun-ASR一键完成上百个录音转写
  • Draw.io开源工具:免费绘制流程图
  • 如何用一张图,让国自然申请书逻辑更清晰、印象分更高?
  • 非Chrome浏览器用户注意:部分功能可能受限
  • Render全栈支持:轻松运行后端服务