0

我有一个全景应用程序,到目前为止,它有两个全景项目,“最近”和“流行”。这些使用来自视图模型的绑定填充数据。我想添加第三个(“搜索”)全景项目,最初只显示一个文本框和一个按钮。

当用户输入文本并单击按钮时,我希望将文本框和按钮替换为显示搜索结果的 ListBox 控件。

我找不到任何关于如何使用 MVVM 模式执行此操作的示例。我没有使用 MVVM 框架,也不想使用,因为我只是在学习这一切。

如果您可以解释或更好,请指出允许我这样做的示例,我将非常感谢您的帮助。如果我在请求中遗漏了任何必需的信息,请告诉我。

真挚地,

卡迈勒

4

2 回答 2

1

通常对于这样的事情,您的 ViewModel 中有一个属性可以告诉视图要显示什么。对于如何做到这一点,您有很多不同的选择。

一种选择是让列表框绑定到一个 Results 属性。将文本框和按钮放在 Grid 中,并将网格的 Visibility 属性绑定到 Visible 的属性,如果没有结果,则不可见。

有很多不同的方法可以做到这一点。

这里这里的例子。

于 2012-12-14T20:13:28.403 回答
0

您可能可以将自定义类的列表绑定到全景 ite 。自定义类包含标题和/或描述以及页面类。

您可以在主视图模型中维护视图。

另一种解决方案是在 xaml 中添加项目并为整个全景项目控件使用相同的视图模型。使用属性,您可以控制每个项目的可见性。

就像科比说的:有很多解决方案。这取决于您的应用程序和要求... :)

于 2012-12-14T21:18:42.883 回答