我被困在這個時間太長,我只是需要有人來告訴我的方向......傳輸數據使用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