首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WPF 在 XAML 写 C# 代码

WPF 在 XAML 写 C# 代码

作者头像
林德熙
发布2020-08-17 10:53:45
1.4K0
发布2020-08-17 10:53:45
举报

本文告诉大家如何扔掉 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 ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档