gpt4 book ai didi

c# - 在我的 WPF 应用程序中过度使用代码隐藏?

转载 作者:行者123 更新时间:2023-11-30 20:32:11 25 4
gpt4 key购买 nike

我正在创建一个简单的 WPF 应用程序,仅供练习之用,但我在 WPF 方面的经验很少。使用 WPF XAML 对我来说似乎很麻烦,因为我在 C# 控制台方面有更多的经验,尤其是在 C# 和 JS 驱动的视频游戏引擎 Unity 方面,开发人员可以访问编辑器(类似于 WPF 中的设计窗口)和代码隐藏,没有任何 XAML。这就是为什么我倾向于使用更少的 XAML 而使用更多的代码。

例如,我修改了按钮的 Margin 属性,同时将其 Opacity 设置为 1;这一切都发生在网格的点击事件上,它调用函数(与它在 Unity 中的完成方式完全相同):

public  void Grid_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
RandomButton.Margin = new Thickness(0, 0, 0, 0);
RandomButton.Opacity = 1;

}

如果我没记错的话,这也可以通过 XAML 中的数据绑定(bind)来实现,尽管它似乎是一种更复杂的方法,但似乎产生了相同的结果。

所以我的问题是:这两种方式之间是否存在差异,比如性能方面或可扩展性方面(哪一种更容易在以后扩展/修改)?工业上用的是哪一种?

最佳答案

就性能而言没有区别。对于您在 XAML 标记中定义的任何元素,框架将在运行时创建相应类型的实例。

不过,使用 XAML 定义应用程序的视觉呈现通常要容易得多。毕竟这就是 XAML 的用途:https://msdn.microsoft.com/en-us/library/cc295302.aspx

尽管如此,您仍然使用 C# 等编程语言来实现您的应用程序逻辑,即按下鼠标按钮时发生的情况等。因此,设置/修改您最初使用 C# 在 XAML 标记中创建的任何元素的属性是很好。

Which one is used in the industry?

当谈到企业 WPF 应用程序时, 推荐使用的设计模式是 MVVM(模型- View - View 模型)。您可以引用以下链接了解更多信息:https://msdn.microsoft.com/en-us/library/hh848246.aspx

View 负责定义用户在屏幕上看到的内容的结构、布局和外观,通常仅使用 XAML 创建,而 View 模型和模型分别负责处理 View 逻辑和业务逻辑使用 C# 等编程语言实现。

如果您在 Google 或 Bing 上搜索,您会找到更多有关如何实现 MVVM 设计模式的信息和示例。

关于c# - 在我的 WPF 应用程序中过度使用代码隐藏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41898300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com