gpt4 book ai didi

wpf - 有没有像 WPF ListView 这样没有选择的东西?

转载 作者:行者123 更新时间:2023-12-04 13:07:16 28 4
gpt4 key购买 nike

我正在开发的应用程序有一种由扩展器组成的 Accordion ,但每个扩展器独立运行,而不是一次只允许一个打开的项目。每个扩展器都与 View 模型中集合中的一个项目相关。

我目前的解决方案是使用列表框,然后将列表 itemsource 绑定(bind)到集合,并让项目模板呈现扩展器和 exapnders 内容。

问题在于列表框将每个扩展器视为一个项目(显然)并允许选择和突出显示。突出显示有点难看,可能会被禁用,但是选择会给我带来一些问题,因为它会导致列表滚动以尽可能多地显示展开的扩展器。

是否有一个有点像堆栈面板(也许)的 WPF 控件,它允许我使用项目模板绑定(bind)包含的控件,但没有选择和突出显示?

enter image description here

            <ListBox Grid.Row="0" Grid.Column="0" Width="Auto" SelectionMode="Single" ItemsSource="{Binding Path=MeasurementSources}">
<ListBox.ItemTemplate>
<DataTemplate>
<Expander Header="{Binding Name}" IsEnabled="{Binding Available}">
<ListBox Width="Auto" SelectionMode="Single"
ItemsSource="{Binding Path=Measurements}"
SelectedItem="{Binding Path=SelectedMeasurement}">
<ListBox.ItemTemplate>
<DataTemplate>
<WrapPanel>
<TextBlock Text="{Binding Name}" FontWeight="Bold" />
<TextBlock Text=" "/>
<TextBlock Text="{Binding Created}"/>
</WrapPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Expander>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

最佳答案

如果您想要没有选择功能的类似列表的功能,您应该使用 ItemsControl - 顺便说一下 Selector 的基类它又是 ListBox 的基类

整个事情就变成了

<ItemsControl Width="Auto" ItemsSource="{Binding Measurements}"
<ItemsControl.ItemTemplate>
<DataTemplate>
<WrapPanel>
<TextBlock Text="{Binding Name}" FontWeight="Bold" />
<TextBlock Text=" "/>
<TextBlock Text="{Binding Created}"/>
</WrapPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>

显然,在这种情况下,您无法绑定(bind)所选项目。

关于wpf - 有没有像 WPF ListView 这样没有选择的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17852452/

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