没有列表框/项目源的数据模板

发布于 2024-10-14 05:23:39 字数 303 浏览 1 评论 0原文

我对 WPF 相当陌生,并且很难理解 DataTemplate、DataContext 以及当然还有 MVVM 的微妙之处。 我的问题是这样的: 我想为 Person 类创建一个 DataTemplate - 其中包含一个包含三个标签的网格 - 用于名字、姓氏和年龄。 创建 DataTemplate 后,我希望将一个人添加到主窗口中的主网格,而不需要列表框或具有 ItemSource 的组件。

总结我的问题 - 我想知道是否有一种方法可以使用 DataTemplate 可视化对象,其中我不必将它们添加到集合中,然后添加到 ItemsSource。

谢谢!

I'm fairly new to WPF, and I'm having a difficulty understanding the subtlety of DataTemplate, DataContext and ofcourse - MVVM.
My problem is this:
I want to create a DataTemplate for the class Person - which contains a grid which contains three lables - for the First Name, Last Name and Age.
After creating my DataTemplate, I wish to add a person to the main grid in the mainwindow, without a listbox or a component which has ItemSource.

To sum up my question - I want to know if there's a way to visualize objects with DataTemplate in which i dont have to add them to a collection and then to ItemsSource.

Thanks!

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

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

发布评论

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

评论(1

爱已欠费 2024-10-21 05:23:39

您需要的是一个 ContentPresenter,该元素使用其 ContentTemplate 属性指定的 DataTemplate 显示其 Content 属性指定的数据。因此,在您的示例中,您可以使用以下内容:

<ContentPresenter ContentTemplate={StaticResource YourTemplate}
                  Content={Binding PathToYourPerson}/>

作为参考,这是按钮等控件在其模板中用于呈现其内容的元素。

What you need is a ContentPresenter, this element displays the data specified by its Content property using the DataTemplate specified by its ContentTemplate property. So, in your example, you can use the following:

<ContentPresenter ContentTemplate={StaticResource YourTemplate}
                  Content={Binding PathToYourPerson}/>

For reference, this is the element that controls such as Buttons use within their template to render their content.

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