如何在 WPF/Silverlight 中设置标题/行

发布于 2024-07-23 08:50:22 字数 336 浏览 9 评论 0原文

您是否有在 WPF 或 Silverlight 中设置标题/行表单(也称为标题/详细信息)的最佳实践? 最好使用模式-视图-视图模型设计模式来适应我的应用程序的其余部分。

一个例子是,如果我有一个显示数据库中所有 SalesOrders 的网格,并且下面有一个网格显示所选销售订单的所有 SalesOrderDetails(销售订单的各个行...已售出的每个项目)顶部网格。

我意识到我可以在 Grid 的 SelectionChanged 事件的文件隐藏代码中执行此操作,但我更喜欢在所有 XAML 和 ViewModel 代码中采用声明性方式执行此操作。 这可能吗?

谢谢, 罗伊

Do you have any best practices for setting up Header/Lines forms (Also known as Header/Details) in WPF or Silverlight? Preferably using the Mode-View-ViewModel design Pattern to fit in with the rest of my application.

An example would be if I had a grid that displayed all SalesOrders in the database, and the underneath that a grid that showed all of the SalesOrderDetails (The individual lines for the sales order...each item sold) for the selected sales order in the top grid.

I realize I could do this in the code behind file on the Grid's SelectionChanged event, but I'd prefer a declarative way of doing so...in all XAML and ViewModel code. Is this possible?

Thanks,
Roy

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ˉ厌 2024-07-30 08:50:22

对我来说,标题/行听起来很像“主 - 细节”模式。 使用 MVVM 实现这样的事情非常简单。

如果我们要创建一个具有 MasterViewModel 和 DetailViewModel 的结构,那么在 MasterViewModel 中我们只需要一个属性来表示我们的详细信息列表和当前详细信息。 在视图中,我们可以将列表的 ItemSource 绑定到 Details 集合,并将 SelectedItem 绑定到 CurrentDetail 属性。 然后,我们可以有一个单独的视图,作为 DataTemplate 或 UserControl,它表示 CurrentDetail 并在详细信息网格中显示我们的值。

还有一些关于实现主详细信息模式 XAML 的好资源。

Bea Stollnitz 有两个使用 XML 作为数据源的优秀示例:此处这里

有一个 有关在 WPF 中实现该模式的 MSDN 视频。 (该视频是用 VB 编写的,但可以用 C# 下载代码)。

在此 MSDN 论坛讨论 Johnny Q. 演示了使用 MVVM 的简单主从设置。

很多 Karl Shifflett 的示例最终也演示了主从模式,尽管代码通常是用 VB 编写的(但是有些示例同时带有 C# 和 VB 代码。)

Header/Lines sounds a lot like the Master - Detail pattern to me. To implement something like this using MVVM is quite simple.

If we were to create a structure where we had a MasterViewModel and a DetailViewModel then in our MasterViewModel we would simply need a property to represent our list of Details and the current Detail. In the View we can bind a list's ItemSource to the collection of Details and bind the SelectedItem to the CurrentDetail property. We can then have a seperate View, as a DataTemplate or UserControl, that represents the CurrentDetail and displays our values in the detail grid.

There's also some good resources out there on implementing a Master Detail pattern XAML.

Bea Stollnitz has two excelent samples using XML for the Data Sources: Here and Here.

There's a MSDN video on implementing the pattern in WPF. (The video is in VB but the code can be downloaded in C#).

In this MSDN forums discussion Johnny Q. demonstrates a simple Master-Detail settup using MVVM.

A lot of Karl Shifflett's examples also end up demonstrating the Master-Detail pattern, though the code is usually in VB (however some examples come with both C# and VB code.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文