gpt4 book ai didi

c# - WPF:带有重置项的组合框

转载 作者:可可西里 更新时间:2023-11-01 08:42:01 26 4
gpt4 key购买 nike

我想在 WPF 中制作一个 ComboBox,其顶部有一个 null 项目,当它被选中时,SelectedItem 应该设置为 null(重置为默认状态)。我一直在寻找,但没有找到令人满意的解决方案。

如果可能的话,我希望它仅使用 XAML 代码或附加行为来执行此操作,因为我真的不喜欢更改 View 的 ViewModel 中的内容或覆盖标准控件。

这是我到目前为止的想法(缩短的代码):

[...]
<Popup x:Name="PART_Popup" [...]>
<Border x:Name="PopupBorder" [...]>
<ScrollViewer x:Name="DropDownScrollViewer" [...]>
<StackPanel [...]>
<ComboBoxItem>(None)</ComboBoxItem>
<ItemsPresenter x:Name="ItemsPresenter"/>
</StackPanel>
</ScrollViewer>
</Border>
</Popup>
[...]

OpenCombo

我认为最好的方法是以某种方式添加一个事件触发器,当项目被选中时将 SelectedIndex 设置为 -1,但我在这里卡住了。

任何想法如何做到这一点?或者更好的方法,比如附加行为?

最佳答案

考虑实现 Null Object Pattern对于“无”组合框项目,并将此项目添加到您的项目列表中。然后实现用于在该类中保存空对象的自定义逻辑,或者只检查所选项目是否为 NullItem 类型。

关于c# - WPF:带有重置项的组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16009629/

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