好吧,我正在构建一个应用程序,它在数据库中搜索给定的查询,然后下载其结果,以在主页的列表框中显示它们。
每个结果都有更多的细节可以去,所以我决定使用的第一件事是某种细节页面。但我不知道如何实现这个过程:
- 在主页上,填写文本框并按下按钮进行搜索
- 不知何故转到 MainViewModel 并使用 MainPage 文本框的值调用 LoadData() 方法
好吧,我正在构建一个应用程序,它在数据库中搜索给定的查询,然后下载其结果,以在主页的列表框中显示它们。
每个结果都有更多的细节可以去,所以我决定使用的第一件事是某种细节页面。但我不知道如何实现这个过程:
视图模型
public class SearchViewModel {
public ICommand SearchCommand {get;set;}
public string SearchCriteria {get;set;}
}
查看代码隐藏
View.DataContext = viewModel
查看xml:
<Button Command="{Binding SearchCommand}"/>
<TextBox Text="{Binding SearchCriteria}"/>
当调用命令时,按搜索条件通知视图过滤数据。
这是 MVVM 模式的描述:http ://en.wikipedia.org/wiki/Model_View_ViewModel
请记住,MVVM 是:模型、视图和视图模型。
因此,您可以在触发该页面视图模型中的代码的主页(视图)上进行搜索。然后,您在新视图中显示详细信息,因此您真正应该考虑的是:
我用我的 MVVM 系统做的是做一个标准的页面导航并将参数传递给新页面,然后我在 OnNavigated 方法中抓取它并将它解析出来并将它传递给视图模型,然后过滤模型中的数据那个值。