WPF 在 XAML 写 C# 代码
时间:2022-07-23
本文章向大家介绍WPF 在 XAML 写 C# 代码,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文告诉大家如何扔掉 cs 文件,在 xaml 写 C# 代码,将 xaml 和 C# 代码写在一个文件
在 WPF 的 XAMl 有一个小伙伴也许看到但是忽略的特性就是 x:Code
特性,这个特性在 UWP 版本被干掉了,因为太好用了
其实小伙伴忽略这个特性也是对的,因为从设计上这不是一个好的方案,将 XAML 和业务逻辑 C# 代码放在一个文件里面
但是可以用来做和界面十分相关的逻辑,此时放在 XAML 文件的 C# 代码会提高代码的相关性
请看下面代码
<Grid>
<Button Name="Button" HorizontalAlignment="Center" VerticalAlignment="Center"
Click="Button_OnClick">按钮</Button>
<x:Code>
<![CDATA[
void Button_OnClick(object sender, RoutedEventArgs e)
{
Button.Content = "欢迎访问我博客 https://blog.lindexi.com 里面有大量 UWP WPF 博客";
}
]]>
</x:Code>
</Grid>
此时不需要在 xaml.cs 文件里面添加按钮点击的事件的方法
本文代码放在 github 欢迎小伙伴访问
但是这个方法有限制的是,因为无法添加using语句,因此限制了很多功能
不过其实这个是可以优化的,也许可以设计为 @code
的写法
<Grid>
<Button Name="Button" HorizontalAlignment="Center" VerticalAlignment="Center"
Click="Button_OnClick">按钮</Button>
@code
{
void Button_OnClick(object sender, RoutedEventArgs e)
{
Button.Content = "欢迎访问我博客 https://blog.lindexi.com 里面有大量 UWP WPF 博客";
}
}
</x:Code>
</Grid>
然后构建的时候将 @code
替换为 x:Code
的写法,这个方法也是可以的
现在 WPF 开源了,小伙伴可以进行随意的更改,如果构建自己的私有的 WPF 框架版本,请看 手把手教你构建 WPF 框架的私有版本
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- centos 安装postgrep
- springboot集成PowerJob-openAPI和回调完整流程
- 使用 Redisson 实现的 redis 分布式锁在 SpringBoot 中的简单使用
- SpringBoot 的过滤器 Filter 配置
- CentOS 7 Redis 5.0.8 哨兵模式配置
- SpringBoot 项目的 Maven 多环境打包配置
- webRTC: 基于coturn项目的stun/turn服务器搭建
- 百度地图电子围栏功能
- opencv使用中出现的问题
- 人生苦短,我用k8s--------------Pod资源控制进阶管理
- 人生苦短,我用k8s--------------kuberctl命令合集
- Android使用Intent实现页面跳转
- Android实现单页显示3个Item的ViewPager炫酷切换效果
- Android用文件存储数据的方法
- Android编程监听APK安装与删除等过程的方法