gpt4 book ai didi

wpf - 如何让 StackPanel 使用 ItemTemplate?

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

在下面的代码中,我告诉 组合框 通过分配其 来使用名为 CustomerTemplate 的 DataTemplate项目模板属性。

堆栈面板 但是,没有 ItemTemplate 属性。

如何让 StackPanel 也使用 CustomerTemplate?

<Window.Resources>
<DataTemplate x:Key="CustomerTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding FirstName}"/>
<TextBlock Text=" "/>
<TextBlock Text="{Binding LastName}"/>
</StackPanel>
</DataTemplate>
</Window.Resources>

<DockPanel LastChildFill="False" Margin="10">
<ComboBox
x:Name="CustomerList"
ItemTemplate="{StaticResource CustomerTemplate}"
HorizontalAlignment="Left"
DockPanel.Dock="Top"
Width="200"
SelectedItem="{Binding SelectedCustomer, Mode=TwoWay}"
ItemsSource="{Binding Customers}"/>

<StackPanel DataContext="{Binding SelectedCustomer}" Orientation="Horizontal">
<TextBlock Text="Chosen: "/>
<TextBlock Text="{Binding LastName}"/>
</StackPanel>

</DockPanel>

最佳答案

ItemsControl本质上是一个带有 ItemTemplate 的 StackPanel。它在内部使用 StackPanel。

但是,看起来您正在尝试显示单个客户而不是他们的列表(我听起来像 Clippy,不是吗?)。在这种情况下,您要使用 ContentControl:

<ContentControl 
Content="{Binding SelectedCustomer}"
ContentTemplate="{StaticResource CustomerTemplate}" />

关于wpf - 如何让 StackPanel 使用 ItemTemplate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1011899/

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