我忙於開發WinRT應用程序。WinRT應用程序
我要訪問頁面定義BasicPage1.xaml的RichEditBox的值到頁面BasicPage2.xaml即後面的代碼中BasicPage2.xaml.cs?
反正是有得到RichEditBox在BasicPage2.xaml.cs(在BasicPage1.xaml定義)的價值?
感謝您的期待。
我忙於開發WinRT應用程序。WinRT應用程序
我要訪問頁面定義BasicPage1.xaml的RichEditBox的值到頁面BasicPage2.xaml即後面的代碼中BasicPage2.xaml.cs?
反正是有得到RichEditBox在BasicPage2.xaml.cs(在BasicPage1.xaml定義)的價值?
感謝您的期待。
您是否熟悉MVVM?基本上這個想法是不要太依賴業務數據的控制層,而是將這些信息分享到另一個層上,在這種情況下是模型或視圖模型。 因此可以說你想要加載一個項目,並與包含項目路徑的文本框進行對話,用戶可以修改該項目。因此,您可以將路徑存儲在名爲ProjectInformation
的模型中,您現在可以將該對象傳遞給其他視圖(更精確地說,查看模型,然後查看視圖)並在其中使用數據。這裏的重要部分是生命週期,你的模型比你的視圖壽命長得多,所以數據被存儲並在必要的地方重用。
一個簡單的方法是在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瞭解更多信息
感謝您的輸入。 它的RichEditBox..Can你可以告訴我如何獲得RichEditBox的價值? – user2451217
我已經用一些建議更新了我的答案。 –
是否需要通過naviga發送去另一頁?然後,你可以做這樣的:
this.Frame.Navigate(typeof(BasicPage2),textbox.Text);
,並在BasicPage2.xaml.cs:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
var textbox= e.Parameter;
...
}
但我也強烈建議用戶在使用MVVM。使用MVVMLight,您可以輕鬆快速地實現這一點。
我讀過它,但不知道如何實現它..! 你能告訴我我該怎麼做? – user2451217
這不是「兩行代碼,你的問題解決了」我的答案。 MVVM是一個與WPF,WinRT和Silverlight一起工作得非常好的概念。但它是一個如何設計和開發應用程序的概念。如果你想要一個快速和骯髒的解決方案,也許NedStoyanovs答案朝着正確的方向。 – dowhilefor