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]가 포함되도록 질문을 수정하십시오. –