MVVM環境でBindingを使用してTextBoxの内容を更新しようとしています。ボタンがフォーカスを受け取ると、値が渡され、その値が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]が含まれるように質問を修正してください。 –