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

上海装修公司排名2021seo网站建设培训

上海装修公司排名2021,seo网站建设培训,建品牌网站公司,网站开发工程师优势1.Avalonia中的DataGrid的使用 DataGrid 是客户端 UI 中一个非常重要的控件。在 Avalonia 中#xff0c;DataGrid 是一个独立的包 Avalonia.Controls.DataGrid#xff0c;因此需要单独通过 NuGet 安装。接下来#xff0c;将介绍如何安装和使用 DataGrid 控件。 2.安装 Dat…1.Avalonia中的DataGrid的使用 DataGrid 是客户端 UI 中一个非常重要的控件。在 Avalonia 中DataGrid 是一个独立的包 Avalonia.Controls.DataGrid因此需要单独通过 NuGet 安装。接下来将介绍如何安装和使用 DataGrid 控件。 2.安装 DataGrid 包 要使用 DataGrid 控件首先需要在 NuGet 中安装 Avalonia.Controls.DataGrid 包。只需在 NuGet 搜索框中输入 Avalonia.Controls.DataGrid然后进行安装即可。 版本选择 在安装 Avalonia.Controls.DataGrid 包时请确保其版本与 Avalonia 框架版本一致否则可能导致安装失败。Avalonia 框架版本是您创建项目时选择的“Avalonia Version”。 注Avalonia框架版本也可以在“依赖项→包”中查看 3.DataGrid的使用 在 App.axaml 文件中或其他需要使用 DataGrid 的界面文件需要引用 DataGrid 的样式文件。可以通过以下方式在界面中引入 !--下面样式文件二选一-- StyleInclude Sourceavares://Avalonia.Controls.DataGrid/Themes/Fluent.xaml/ StyleInclude Sourceavares://Avalonia.Controls.DataGrid/Themes/Simple.xaml/ 注必须引用 DataGrid 的样式文件否则 DataGrid 将无法正确显示。 4.代码实现 App.axaml文件 Application xmlnshttps://github.com/avaloniauixmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlx:ClassdatagridTest.AppRequestedThemeVariantDefault!-- Default ThemeVariant follows system theme variant. Dark or Light are other available options. --Application.StylesFluentTheme/StyleInclude Sourceavares://Avalonia.Controls.DataGrid/Themes/Fluent.xaml//Application.Styles /Application MainWindow.axaml文件 Window xmlnshttps://github.com/avaloniauixmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:localclr-namespace:datagridTestx:ClassdatagridTest.MainWindowx:DataTypelocal:MainWindowTitleDataGrid Test Width400 Height300StackPanel!-- 显示 People 的数量修改为显示“行数” --TextBlock Text{Binding PeopleCountText} Margin10 FontSize16 /!-- 按钮点击后加载数据 --Button Content加载数据 Margin10 ClickLoadDataButton_Click/!-- 按钮点击后清除数据 --Button Content清除数据 Margin10 ClickClearDataButton_Click/!-- DataGrid --DataGrid NameDataGrid1 Margin10 ItemsSource{Binding People}SelectionChangedDataGrid_SelectionChangedDoubleTappedDataGrid_DoubleTapped IsReadOnlyTrueDataGrid.ColumnsDataGridTextColumn HeaderID Binding{Binding Id} /DataGridTextColumn Header姓名 Binding{Binding Name} /DataGridTextColumn HeaderAge Binding{Binding Age} //DataGrid.Columns/DataGrid/StackPanel /Window MainWindow.axaml.cs文件 using Avalonia.Controls; using Avalonia.Markup.Xaml; using System.Collections.Generic; using System.ComponentModel; using System.Runtime.CompilerServices; using Avalonia.Interactivity; using MsBox.Avalonia;namespace datagridTest {public partial class MainWindow : Window, INotifyPropertyChanged{private ListPerson _people;public ListPerson People{get _people ?? (_people new ListPerson());set{_people value;OnPropertyChanged();OnPropertyChanged(nameof(PeopleCountText));}}public string PeopleCountText $一共有{People.Count}行数据;public MainWindow(){InitializeComponent();DataContext this;People new ListPerson();}private void InitializeComponent(){AvaloniaXamlLoader.Load(this);System.Diagnostics.Debug.WriteLine(XAML loaded successfully);// 获取 DataGrid 控件的引用DataGrid1 this.FindControlDataGrid(DataGrid1);}private void LoadDataButton_Click(object sender, RoutedEventArgs e){People new ListPerson{new Person { Id 1, Name 张三(John Doe), Age 30 },new Person { Id 2, Name 李四(Jane Smith), Age 25 },new Person { Id 3, Name 王五(Sam Brown), Age 35 }};}private void ClearDataButton_Click(object sender, RoutedEventArgs e){People new ListPerson();}private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e){if (DataGrid1 null) return; // 检查 DataGrid1 是否为 nullvar selectedPerson DataGrid1.SelectedItem as Person;if (selectedPerson ! null){MsBox.Avalonia.MessageBoxManager.GetMessageBoxStandard(点击按钮Button Clicked, 您点击了: selectedPerson.Name).ShowWindowAsync();}}// 双击行时触发private void DataGrid_DoubleTapped(object sender, Avalonia.Interactivity.RoutedEventArgs e){if (DataGrid1 null) return; // 检查 DataGrid1 是否为 nullvar selectedPerson DataGrid1.SelectedItem as Person;if (selectedPerson ! null){MsBox.Avalonia.MessageBoxManager.GetMessageBoxStandard(点击按钮Button Clicked, 您点击了: selectedPerson.Id).ShowWindowAsync();}}public event PropertyChangedEventHandler PropertyChanged;protected void OnPropertyChanged([CallerMemberName] string propertyName null){PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));}}public class Person{public int Id { get; set; }public string Name { get; set; }public int Age { get; set; }} } 代码解析 1.INotifyPropertyChanged接口 一定要实现INotifyPropertyChanged接口否则界面datagrid数据无法展示。INotifyPropertyChanged 接口用于数据绑定通知确保当数据变化时界面能够自动更新。 2.数据绑定 (Binding): 在XAML中DataGrid的ItemsSource属性通过Binding绑定到了People属性。这意味着DataGrid会显示People集合中的数据。 3.后台代码中的People属性: 在MainWindow类中People是一个ListPerson类型的属性。它存储了要在界面上显示的数据。 4.初始化和数据加载: MainWindow构造函数中DataContext被设置为this即MainWindow的实例使得XAML中的绑定可以访问People属性。 4.数据加载和清除: 在LoadDataButton_Click方法中当点击加载数据按钮时People属性被设置为一个新的ListPerson这会触发OnPropertyChanged()方法从而更新界面。 5.DataGrid_SelectionChanged 事件 触发时机该事件在 DataGrid 中的选中项发生变化时触发。例如用户点击了某一行或选择了某个单元格时。 6.DataGrid_DoubleTapped 事件事件 触发时机该事件在 DataGrid 中某行被双击时触发。即用户快速连续点击某一行时触发。 5.界面展示 源码地址https://download.csdn.net/download/weixin_44643352/90323900
http://www.w-s-a.com/news/816806/

相关文章:

  • 招聘网站如何建设中国计算机网络公司排名
  • 工信部网站备案规定厦门在线制作网站
  • 商丘网站公司智联招聘手机app下载
  • 江西专业南昌网站建设中国专业的网站建设
  • 物流企业网站建设方案招标网站有哪些
  • 网站建设服务中企动力建筑工程网络进度计划备注填写范例
  • 电子商务网站开发与建设试卷php网站开发专业
  • 运城网站制作路90江苏省网站备案系统
  • 唐山做企业网站实体门店管理系统
  • 网站优化推广教程深圳网站建设世纪前线
  • 网站建设专家哪家好兰州网络推广执行
  • 广东住房和城乡建设厅网站王芃增加网站收录
  • 北京网站建设手机app电子商务网红营销的劣势
  • 网站 营销型wordpress获取4条文章标题
  • 浦东区建设工程监督网站建立全国统一的突发事件信息系统
  • 做网站需要基础吗重庆市造价信息网
  • 我要建设公司网站大连培训网站建设
  • 网站建设校长信箱设计方案小程序报价开发
  • 电子网站建设ppt模板营销策划方案怎么写?
  • 什么网站收录排名最高济南能源建设网站
  • 深圳移动网站建设公司价格桂林做网站哪家公司好
  • 互联网网站名字网站合作建设合同
  • 舟山高端网站设计广州优化排名推广
  • 哪个网站做免费广告好上海人才网站
  • cn域名做网站竞价推广代理
  • 省建设干部培训中心网站网站地图1 500 怎么做
  • 制作一个网站需要哪些人网站建设经营服务合同
  • 山东省住房和城乡建设厅官方网站网易发布广州
  • 长沙设计网站效果设计师灵感网站
  • 做网站php都用什么框架把asp.net写的网站别人怎么访问