2014-06-05 29 views
0

我具有以下在XAML數據與文本框在窗戶電話綁定8

<Text Box x:Name="Text_Mobile_Number" 
      Height="70" Width="450" 
      Margin="24,250,0,0" 
      Text="{Binding Path=Mobile_No, Mode=Twoway, UpdateSourceTrigger=Explicit}"> 

代碼我試圖綁定屬性Mobile_No,這是限定在View_Model text_box:

private string _mobile_No; 
public string Mobile_No 
{ 
    get 
    { 
     return _mobile_No; 
    } 
    set 
    { 
     if(_mobile_No != value) 
      _mobile_No = value; 
      RaisePropertyChanged("Mobile_No"); 
    } 
} 

和在C#我寫了一個函數,我調用了一個服務,通過它我將獲得移動設備號,並且我也在viewmodel中編寫了該函數。

但現在當我點擊事件的按鈕時調用該函數沒有去屬性,所以它沒有設置在該屬性中的移動號。 以下是我的函數調用:

private async void Next_AppBarIconButton_Click(object sender, EventArgs e) 
{ 
    LogInViewModel view_Model = new LogInViewModel();  
    var tuple = (Tuple<bool, string>)await view_Model.Get_Verification_Code(); 
} 

但它不能正常工作,聞一分配實際的文本框的值是 Mobile_No=Text_box.text然後正常工作,函數檢索值

我的實際功能:

public async Task<object> Get_Verification_Code() 
{ 
    var flag = false; 
    string message=""; 
    var result = (Tuple<string, string, string>)await service.Get_Verification_Code(Mobile_No,"sign_in"); 
} 

所以請爲此建議任何解決方案,我不想手動設置文本框值的屬性Mobile_No。

我已經嘗試了所有的選項,搜索相關的文本框中的所有片段的結合,但沒有得到在那裏我是錯誤的代碼,請告訴我任何solution.Thank你

+0

你分配給你datacontext? –

+0

編號是否需要分配dataContext?但爲什麼??我不想檢索值並將其顯示在textbox.then爲什麼? – GaneshGawali

+0

那麼UI怎麼會知道什麼是Mobile_No –

回答

1

要創建的視圖模型的新實例在你的按鈕點擊方法,所以這個新的實例不會有值。

添加以下2行代碼在視圖的結束(MainPage.xaml.cs中)

public MainPage() 
{ 
    InitializeComponent(); 
    LoginViewModel vm = new LoginViewModel(); 
    this.DataContext = vm; 
} 

更新此方法以如下

private async void Next_AppBarIconButton_Click(object sender, EventArgs e) 
{ 
    LogInViewModel view_Model = this.DataContext as LoginViewModel; 
    //Now you have the instance which binded to your view which contains all the data. 
    var tuple = (Tuple<bool, string>)await view_Model.Get_Verification_Code(); 
} 

PS:我會建議給使用GalaSoft MVVM輕型框架爲您mvvm應用程序

希望這可以幫助

+0

非常感謝您,但我不想使用GALASOFT庫cz我不綁定命令我只是調用函數點擊事件。 – GaneshGawali

+0

其實它在這一行閃爍錯誤 – GaneshGawali

+0

LogInViewModel view_Model = .DataContext作爲LoginViewModel; – GaneshGawali

相關問題