wpf - 在 wpf 组件中使用哪种布局来设计 UI?
问题描述
我正在学习wpf。作为学习的一部分,我正在使用 mvvm 将 winforms 应用程序转换为 wpf 应用程序。
在winforms中,我只是拖放。之后,我根据我的要求进行了调整。
但是在 WPF 中,当我拖放默认网格时,会包装组件,并且在对齐组件时遇到了很大的困难。
关于学习 wpf 的教程https://www.tutorialspoint.com/wpf/wpf_layouts.htm
我尝试使用,但我不知道哪个适合我的 UI。
我使用过网格和堆栈面板,但对齐有问题。在网格中,我在现有行中添加新元素时遇到问题。在 stackpanel 中,我面临组件之间的间距和对齐组件的问题。
任何人都可以帮助我在哪个面板上使用上述类型的 UI。
解决方案
通常,您不会对 WPF 使用编辑器,而是手动编辑布局 XAML 并使用可视化工具作为指南来显示您是否做得正确。Visual Studio 编辑器确实允许您执行基本布局之类的操作,但是一旦您开始使用 ControlTemplates/DataTemplates/Behaviours 等,您很快就会发现它毫无用处(相信我,那一刻会比您想象的要快得多)。如果您真的想使用图形编辑器,那么 Microsoft Blend 是您最好的选择,但即便如此,它通常也是为非程序员设计的。事实上,在 10 多年的时间里,我一直是一名专业的 WPF 承包商,我还没有遇到过任何一家公司实际上使用 Blend……或任何其他 GUI 驱动的 XAML 编辑器……进行产品开发。
推荐阅读
- c++ - 无法进入 while 循环。它与使用无序地图有关吗?
- angular - 当我通过 Renderer2 在输入元素上添加 required 时,Angular 不会添加 ng-invalid
- node.js - Discord.js 录制音频
- python - AttributeError:“索引”对象没有属性“to_excel”
- firebase - 从用户应用向管理员应用发送推送通知 - Flutter
- reactjs - react: 通过状态改变调用对话框
- laravel - 限制 Laravel Nova 资源的 BelongsTo 选择字段中返回的选项数量
- razor - 如何对字符串进行 Json.Encode 并将其用作隐藏输入字段的值?
- html - 按钮 HTML 背景颜色
- oauth-2.0 - 使用 OAuth 访问 SPA 和 REST API 时,应该在哪里为 RBAC 存储用户组成员身份