gpt4 book ai didi

WPF ListBox 以不同方式显示最后一项

转载 作者:行者123 更新时间:2023-12-04 06:27:45 25 4
gpt4 key购买 nike

我想要一个列表框,它允许用户从数据库中获取 20 个项目,并在列表框的最后一行显示提示,如果有更多项目要获取。当用户单击最后一行时,应该从数据库中检索其他项目,直到没有更多项目并且最后一行显示此信息。

第一的:

listitem1
listitem2
...
listitem19
listitem20
Button: <get_more>

按下按钮后:
listitem1
listitem2
...
listitem39
listitem40
Info: <no more items>

所有这些都只能在 XAML 中完成吗?
实现这一点的最佳解决方案是什么?

最佳答案

伙计——一切可以用 XAML 完成:D

按照 MVVM 方法,我建议您执行以下操作:

1/入门:A DockPanel

<DockPanel LastChildFill="True">
<Button DockPanel.Dock="Bottom" />
<ListBox />
</DockPanel>

2/绑定(bind)你的 ListBoxObservableCollection在您的 View 模型中:
<ListBox ItemsSource="{Binding ListElements}" />

在 View 模型中:
private ObservableCollection<String> _listElements;

public ObservableCollection<String> ListElements
{
get { return _listElements; }
set { _listElements = value; }
}

3/绑定(bind)你的 Button的内容到预定义的 String :
<Button Content="{Binding ButtonString}" />

在 View 模型中:
public String ButtonString
{
get
{
//There, define if there are any more things to display
}
}

4/您的 Button触发 Command启动一个方法,比如说 GetMore() :
<Button Content="{Binding ButtonString}" Command="{Binding GetMoreCommand} />

在 View 模型中:
private void GetMore()
{
//append to the _listElements new elements from the list
//Update the ButtonString if there are no more elements
}

你去吧!

(例如,如果需要,您还可以定义一个从 ObservableCollection 中删除内容的按钮)

关于WPF ListBox 以不同方式显示最后一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5832947/

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