如何将 wpf ListBox 的 ItemTemplate 嵌入到 Window 资源中?
抱歉,如果这是一个基本问题,但是我如何获取 ListBox 的 ItemTemplate,并将其放入窗口的资源中,以便多个 ListBox 可以使用它。
下面是一些 XAML:
<Window x:Class="Example">
<Window.Resources>
<DataTemplate x:Key="dtExample">
<ListBox.ItemTemplate>
// styles go here...
</ListBox.ItemTemplate>
</DataTemplate>
</Window.Resources>
<ListBox ItemTemplate="{StaticResource dtExample}">
// items go here...
</ListBox>
</Window>
这会引发“附加属性没有设置器”设计时错误。 为了简洁起见,我删除了我认为不重要的部分代码。
谢谢
Sorry if this is a basic question, but how can I take an ItemTemplate that I have for a ListBox, and put it in the resources for the window so that more than one ListBox can use it.
Here's some XAML:
<Window x:Class="Example">
<Window.Resources>
<DataTemplate x:Key="dtExample">
<ListBox.ItemTemplate>
// styles go here...
</ListBox.ItemTemplate>
</DataTemplate>
</Window.Resources>
<ListBox ItemTemplate="{StaticResource dtExample}">
// items go here...
</ListBox>
</Window>
This is throwing a "Attached property has no setter" design-time error. I've removed portions of code that I didn't think would matter, for sake of brevity.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
只需将您的 itemtemplate 添加到窗口的资源中并添加一个键:
然后将其应用为如下所示:
just add your itemtemplate to your window's resource and add a key:
and then apply it with something like this:
您提供了以下代码:
但这不起作用。 您不能直接在模板中提供
。 你在这里不需要这个。 只需创建一个简单的数据模板,它就应该可以工作。you provided the following code:
but this will not work. you cannot provide
<ListBox.ItemTemplate>
directly within your template. you don't need this here. just create a simple datatemplate and it should work.我知道这篇文章太旧了,作者不会感兴趣,但对于那些有同样问题并用谷歌搜索的人来说,我可能会感兴趣。 正如我所看到的问题是你应该在 ListBox 中使用 ListBox.ItemTemplate 。 例如,...
I know that the post is too old to be interesting for the author, yet i may be interesting for those who have the same problem and google it. As I may see the problem is you should use ListBox.ItemTemplate inside ListBox. For instance,
<ListBox ...><ListBox.ItemTemplate> ... </ListBox.ItemTemplate></ListBox>
我认为问题在于您应该在资源中使用 x:Key 属性而不是 x:Name ..
更改它,它将像魅力一样工作:)
I think the problem is that you should x:Key properties in your resources instead of the x:Name..
Change that, and it will work like a charm :)
您的 Window 类中是否有以下标记?
Do you have the following tags in your Window class?
这个主题很旧,但解决方案如下:
the subject is old but here is the solution: