我想在MVVM環境中使用綁定獲取更新文本框的內容。當Button獲得焦點時,它傳遞一個值,並且該值應該反映在TextBox中。我似乎有第一部分權利,但似乎在通過價值努力.. 我知道有關MVVM的問題已被問及(包括我自己),但我真的無法得到它,由於某些原因。UWP MVVM綁定到TextBox並傳回值
所以,我開始與我的模型:
public class iText : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private string _text;
public string Text
{
get { return _text; }
set
{
_text = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Text)));
}
}
然後我繼續我的ViewModel:
private iText _helper = new iText();
public iText Helper
{
get { return _helper; }
set
{
_helper = value;
}
}
的XAML頁面:
<Page.Resources>
<scan:ModelDataContext x:Key="ModelDataContext" x:Name="ModelDataContext"/>
</Page.Resources>
<TextBox Text="{Binding Helper.Text, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
然後我嘗試從MainPage.cs
public sealed partial class MainPage : Page
{
public MainPageViewModel iText { get; set; }
public MainPage()
{
InitializeComponent();
iText = new MainPageViewModel();
}
private void btn_GotFocus(object sender, RoutedEventArgs e)
{
var str = "test"
iText.Helper.Text = str;
}
更新的文字我真的很感激,如果有人能告訴我什麼,我做錯了,哪裏。非常感謝提前。
您發佈的代碼,離奇的標識儘管命名,如果將一個完整的代碼示例中正常工作。所以無論你的問題是什麼,它都在你沒有打算展示的代碼中。請修復您的問題,使其包含一個可靠地再現問題的良好[mcve]。 –