gpt4 book ai didi

WPF UserControl 或 ControlTemplate ...(不确定)

转载 作者:行者123 更新时间:2023-12-04 18:24:17 25 4
gpt4 key购买 nike

我有一个列表框,我必须在其中添加大约 20 个静态自定义项。所有项目都基于相同的模板(类似的东西):

<Border>
<StackPanel Orientation="Horizontal">
<Image Source="" Height="30" />
<TextBlock Text="" VerticalAlignment="Center" />
</StackPanel>
</Border>

我不想在 ListBox.Items 中重复 20 次我想要某种用户控件,我可以在其中执行某些操作,如下所示,我可以设置一些自定义属性:
<ListBox>
<ListBox.Items>
<MyListBoxTemplate x:Name="Item1" ItemText="Item #1" ItemImageSource="/Image1.jpg" />
<MyListBoxTemplate x:Name="Item2" ItemText="Item #2" ItemImageSource="/Image2.jpg" />
...
</ListBox.Items>
</ListBox>

但我不想为此创建一个 userControl !!!有没有一种简单的方法可以将该模板放入 Window.Resources 中?

谢谢

最佳答案

如果您只将它用于该特定列表框,您可以分配 ItemTemplate属性(property)。这将需要与在其他地方的资源中定义的自定义对象集合一起工作。这将使您免于创建自定义 UserControl,但您将需要一个可以在 XAML 中定义的对象以及一个在 XAML 中的列表。老实说,创建​​一个 UserControl 相对来说比较轻松,并且可能更容易,但不这样做也是可能的。

<ListBox>
<ListBox.ItemTemplate>
<DataTemplate TargetType="CustomObjectType">
<Border>
<StackPanel Orientation="Horizontal">
<Image Source="{Binding ImageSource}" Height="30" />
<TextBlock Text="{Binding TextContent}" VerticalAlignment="Center" />
</StackPanel>
</Border>
<DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

编辑:如果您要在多个地方使用它,请将 DataTemplate在您的应用程序资源中并给它一个键,然后分配 ItemTemplate属性(property)给 {StaticResource MyListBoxItemsTemplateKey}

关于WPF UserControl 或 ControlTemplate ...(不确定),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10018209/

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