C# XAML数据绑定类单例MVVM对象 笔记
我是一个新手,我有时会陷入简单和/或愚蠢的想法,这就是其中之一 我对数据绑定有了大致的了解,我在网上浏览了一些教程,在谷歌上搜索了几个小时,浏览了大量的文本,这只会让我有点困惑 问题 我正在开发Windows Phone 8 C#/XAML.NET 4.5应用程序 使用提供给我的Web服务和一些方法,我正在加载我需要查看的数据(有时以不同的组合),并且我需要在应用程序运行时存储大部分数据C# XAML数据绑定类单例MVVM对象 笔记,c#,xaml,data-binding,mvvm,windows-phone-8,C#,Xaml,Data Binding,Mvvm,Windows Phone 8,我是一个新手,我有时会陷入简单和/或愚蠢的想法,这就是其中之一 我对数据绑定有了大致的了解,我在网上浏览了一些教程,在谷歌上搜索了几个小时,浏览了大量的文本,这只会让我有点困惑 问题 我正在开发Windows Phone 8 C#/XAML.NET 4.5应用程序 使用提供给我的Web服务和一些方法,我正在加载我需要查看的数据(有时以不同的组合),并且我需要在应用程序运行时存储大部分数据 为此,我创建了一个视图模型+几个模型,并按如下方式构建它们: MainViewModel --------
- 为此,我创建了一个视图模型+几个模型,并按如下方式构建它们:
注意:我从一些人那里听说MVVM可能/应该有不同的使用方式,我应该为每个页面创建一个ViewModel,而不是从一个类似singleton的类绑定。经过一番考虑,我决定让它像现在一样MainViewModel -------------- | + several properties (Username, Password, etc...) | + Commands (loadData1, loadData2, flush, ... - implementations of ICommand) | + ------ PersonalInfoModel | ----------------- | + several properties (name, surname, phonenumber, etc...) | | + ------ DataGroup1Model | --------------- | +several properties | +ObservableCollection<Item1> (roughly 0 - 50 items) | +ObservableCollection<Item2> (roughly 0 - 5 items) | +ObservableCollection<string> (roughly 0 - 5 items) | | Item1 Item2 | ----- ----- | +several properties +several other properties | | + ------ DataGroup2Model (similar to previous) ...et cetera...
- 我现在想做的是设置我创建的作为XAML中绑定的源/数据上下文的
viewModel
itemSource
或文本框的Text
设置为值,例如MainViewModel
中的PersonalInfoModel
,我应该如何操作?旁白:正如问题开头的便条所写,我是个新手。我知道有时候这对我们来说很难,但是没有一个伟大的思想家是从伟大的虚空中产生的,这就是为什么我要求一个更详细的解释,然后只是“你可以在窗口中将你的对象设置为数据源,然后再设置它”。你问的问题基本上是:我如何连接视图和视图模型?我完全同意,这是开始使用MVVM时要解决的最令人困惑的问题,而且很多关于MVVM的教程和帖子都完全忽略了这个问题 答案是:有很多方法可以让ViewModel达到您想要的位置,即在视图的
DataContext
中。虽然您可以完全在XAML中完成此操作,但Microsoft建议将DataContext
设置为这样,就我所能回忆起的WP项目模板而言:
在codebehind中的视图构造函数中,只需调用:
DataContext = App.MainViewModel;
帮助我解决这个问题的最有价值的来源之一是
这是关于WPF而不是WP8的,但它应该会有所帮助
要执行实际绑定,现在可以按照教程进行操作,例如:
<TextBlock Text="{Binding PersonalInfoModel.Name}" />
您要问的问题基本上是:如何连接View和ViewModel?我完全同意,这是开始使用MVVM时要解决的最令人困惑的问题,而且很多关于MVVM的教程和帖子都完全忽略了这个问题 答案是:有很多方法可以让ViewModel达到您想要的位置,即在视图的
DataContext
中。虽然您可以完全在XAML中完成此操作,但Microsoft建议将DataContext
设置为这样,就我所能回忆起的WP项目模板而言:
在codebehind中的视图构造函数中,只需调用:
DataContext = App.MainViewModel;
帮助我解决这个问题的最有价值的来源之一是
这是关于WPF而不是WP8的,但它应该会有所帮助
要执行实际绑定,现在可以按照教程进行操作,例如:
<TextBlock Text="{Binding PersonalInfoModel.Name}" />
谢谢。这有帮助:)现在有第二个问题。我有一个包含对象PersonalInfo
的ViewModel,它有一个属性,例如用户名
,我想绑定到该属性。怎么做?就这些;)谢谢这有帮助:)现在有第二个问题。我有一个包含对象PersonalInfo
的ViewModel,它有一个属性,例如用户名
,我想绑定到该属性。怎么做?就这些;)