我被困在这个时间太长,我只是需要有人来告诉我的方向......传输数据使用MVVM模式
的事情是,我试着使用MVVM模式来开发,我可以似乎我不知道如何从某个方法传输某些数据并将其绑定到我的XAML。此外,我在所有这种结构中设置接口(INotifyPropertyChanged)都有问题。你们中的任何一个人可以展示它必须在哪里实施?
我会尽量在我的代码解释...
我有一个DataModel的是例如将是一个API,它会从网上获取一些数据:
public class DataModel
{
public string apiResult = "null";
private void GetDataFromApi()
{
// Some web service
apiResult = "SOME RESULT FROM WEB API";
}
}
现在我有一个视图模型的逻辑:
public class ViewModel
{
private DataModel dm = new DataModel();
public string ApiResult
{
get { return dm.apiResult; }
set { dm.apiResult = value; }
}
public void GetApi()
{
dm.GetDataFromApi();
}
}
而且finaly查看:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WPFexample" x:Class="WPFexample.MainWindow"
DataContext="{Binding ''}"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TextBlock HorizontalAlignment="Left"
Margin="110,126,0,0"
TextWrapping="Wrap"
Text="{Binding ApiResult}"
VerticalAlignment="Top"
RenderTransformOrigin="0.296,-1.239">
<TextBlock.DataContext>
<local:ViewModel/>
</TextBlock.DataContext>
</TextBlock>
</Grid>
</Window>
其实我也不知道我怎么能实现这个作为我的“apiResult”始终是初始值“空”,我希望它从方法GetDataFromApi
我怎样才能得到结果所有这些在MVVM中工作,并且实现了一些接口。
我已经看过各种教程,但不能似乎抓住它,因为他们都从一开始就缺乏的东西或我不太明白的逻辑...
曾经也被推这GIT:https://github.com/lklancir/WPFexample/tree/master/WPFexample/WPFexample
希望你可以指点我在正确的方向...
它看起来不像你在任何地方调用'DataModel.GetDataFromApi()'。 – 2015-02-07 15:48:59
我试图在ViewModel中调用它,但是当我去调试器时没有任何反应 – klanc 2015-02-07 15:51:34
然后请发布代码。现在,你的问题将被关闭。很明显,ApiResult将会是空的,因为你没有在任何地方填充它。 – 2015-02-07 15:58:58