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

WPF向Avalonia迁移(四、其他事项)

开发必备

1. Avalonia项目源代码!!!!!!!!!!没有源代码,你连控件的背景色怎么改都找不着!!

2.下载你所使用的版本!!!!!!!!!0.10.XX与0.11.XX 差很多!!!!要看好自己用的版本号

3.如果你使用了其他的UI库,比如说Semi.Avalonia,下载对应版本的源代码,改样式的时候,先去看你的UI引用是否重写了控件样式

 我添加一个下拉框组件

	<ComboBox ><ComboBoxItem >1</ComboBoxItem><ComboBoxItem >2</ComboBoxItem><ComboBoxItem >3</ComboBoxItem><ComboBoxItem >4</ComboBoxItem></ComboBox>

去Avalonia.Themes.Fluent项目下找到ComboBox.xaml

然后找到对应的颜色设置

在你项目中设置对应的资源项,设置成整个应用的资源项还是当前页的资源项,看你自己的需求,这个应用的资源项设置参考WPF向Avalonia迁移(三、项目结构)

<Window.Resources><Brush x:Key="ComboBoxDropDownBackground">#003366</Brush>
</Window.Resources>

测试运行:

此时,如果你使用的是Semi.Avalonia库(DarkTheme),那么你的样式可能是酱婶儿滴:

查看自己的App.axaml,如下我是使用了Semi.Avalonia的Dark主题

  <Application.Styles><FluentTheme />
<StyleInclude Source="avares://Semi.Avalonia/Themes/DarkTheme.axaml" />
<StyleInclude Source="/Assets/Styles/CommonStyles.axaml"/>	</Application.Styles>

 此时,需要去Semi.Avalonia项目中,找到Controls文件夹,找到ComboBox.axaml

 重新设置资源项的值:

	<Window.Resources><Brush x:Key="ComboBoxPopupBackground">#003366</Brush></Window.Resources>

启动验证:

预览问题:

        一个正常的开发情况是这样的,可以看到预览页面,如果你预览页面报错,但是启动正常的话,可能是你在构造函数里写了一些让它不开心的代码,比如,读取数据库啥的,或者没有无参构造函数它都会不太开心,如果需要数据库读取等操作,在为Loaded事件添加委托即可。

   public MainWindow(){InitializeComponent();Loaded += MainWindow_Loaded;}private void MainWindow_Loaded(object? sender, Avalonia.Interactivity.RoutedEventArgs e){// 数据库读取等操作}

当你的页面只有有参构造的时候,编译项目会提示你:

http://www.lryc.cn/news/185963.html

相关文章:

  • Python 代码调试
  • DM宣传单制作,利用在线模板,快速替换文字
  • 【力扣】42. 接雨水
  • IPETRONIK数据采集设备携手Softing Q-Vision软件致力于ADAS测试方案
  • Go语言中的指针介绍
  • 简单理解区块链
  • [尚硅谷React笔记]——第3章 React应用(基于React脚手架)
  • 《Linux 内核设计与实现》13. 虚拟文件系统
  • 2021-06-09 51单片机:两个独立按键控制一个led,k1按下松开led闪烁三次,k2按下LED闪烁五次
  • C/C++ 经典面试算法题
  • 2023年下学期《C语言》作业0x02-分支 XTU OJ 1068 1069 1070 1071 1072
  • JMeter学习第一、二、三天
  • 常用的分布式ID解决方案原理解析
  • echarts3D地图打点
  • 分布式主键算法
  • 暴力破解及验证码安全
  • 程序无法启动,提示“找不到msvcp140.dll”或“msvcp140.dll缺失报错”解决方法
  • 【Python查找算法】二分查找、线性查找、哈希查找
  • 【MySQL实战45讲-基础篇】
  • asp.net core中间件预防防止xss攻击
  • jvm概述
  • C++简单上手helloworld 以及 vscode找不到文件的可能性原因
  • 掌动智能:性能压力测试的重要性
  • kafka日志文件详解及生产常见问题总结
  • Linux-Centos中配置docker
  • IDEA-2023-jdk8 HelloWorld的实现
  • 【1++的Linux】之进程(五)
  • 用url类来访问服务器上的文件
  • 【重拾C语言】六、批量数据组织(二)线性表——分类与检索(主元排序、冒泡排序、插入排序、顺序检索、对半检索)
  • 24 Python的sqlite3模块