2013-06-04 67 views
0

我忙於開發WinRT應用程序。WinRT應用程序

我要訪問頁面定義BasicPage1.xaml的RichEditBox的值到頁面BasicPage2.xaml即後面的代碼中BasicPage2.xaml.cs

反正是有得到RichEditBox在BasicPage2.xaml.cs(在BasicPage1.xaml定義)的價值?

感謝您的期待。

回答

1

您是否熟悉MVVM?基本上這個想法是不要太依賴業務數據的控制層,而是將這些信息分享到另一個層上,在這種情況下是模型或視圖模型。 因此可以說你想要加載一個項目,並與包含項目路徑的文本框進行對話,用戶可以修改該項目。因此,您可以將路徑存儲在名爲ProjectInformation的模型中,您現在可以將該對象傳遞給其他視圖(更精確地說,查看模型,然後查看視圖)並在其中使用數據。這裏的重要部分是生命週期,你的模型比你的視圖壽命長得多,所以數據被存儲並在必要的地方重用。

+0

我讀過它,但不知道如何實現它..! 你能告訴我我該怎麼做? – user2451217

+0

這不是「兩行代碼,你的問題解決了」我的答案。 MVVM是一個與WPF,WinRT和Silverlight一起工作得非常好的概念。但它是一個如何設計和開發應用程序的概念。如果你想要一個快速和骯髒的解決方案,也許NedStoyanovs答案朝着正確的方向。 – dowhilefor

1

一個簡單的方法是在XAML中爲您的文本框命名,然後通過後面的代碼中的名稱訪問該文本框。

<TextBox Name="myTextBox"/> 

然後在後面的代碼,你可以做到這一點

myTextBox.Text = "blah"; 

一個更好的辦法是使用綁定,以便自動更新文本框更新您綁定到的屬性。看看這個帖子textbox binding example

對於豐富的編輯文本框,你應該能夠做到這一點:

設置

myTextBox.Document.SetText(Windows.UI.Text.TextSetOptions.None, "Here is text"); 

得到

string value = string.Empty; 
    myTextBox.Document.GetText(Windows.UI.Text.TextGetOptions.AdjustCrlf, out value); 

請參閱本post瞭解更多信息

+0

感謝您的輸入。 它的RichEditBox..Can你可以告訴我如何獲得RichEditBox的價值? – user2451217

+0

我已經用一些建議更新了我的答案。 –

0

是否需要通過naviga發送去另一頁?然後,你可以做這樣的:

this.Frame.Navigate(typeof(BasicPage2),textbox.Text); 

,並在BasicPage2.xaml.cs:

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    var textbox= e.Parameter; 
    ...  
} 

但我也強烈建議用戶在使用MVVM。使用MVVMLight,您可以輕鬆快速地實現這一點。

相關問題