0

MainPage と設定に TextBlock があります。このテキストブロックのテキストを動的に変更したい。設定に変更を確認するためのボタンがあります:

private async void OK_Tapped(object sender, TappedRoutedEventArgs e)
{
  _main.ChangeTbText(Common.NewName);
}

Common.NewName - 私の新しいテキスト;

public void ChangeTbText(string newName)
{
    UserTextBlock.Text = newName;
}

動作しますが、ページを更新する必要があります。更新せずにやりたいです。

編集:

答えてくれてありがとう、私はそのようなものを作成しました:

設定で:

    public event PropertyChangedEventHandler PropertyChanged;

private async void OK_Tapped(object sender, TappedRoutedEventArgs e)
        {
            PropertyChanged += _main.ChangeUserName;

            Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, new Windows.UI.Core.DispatchedHandler(() => OnPropertyChanged("Text"))); 
        }

protected virtual void OnPropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler handler = PropertyChanged;
            if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
            _main.ChangeUser(Common.NewName);
        }

メインページ:

public void ChangeUser(string Text)
        {
            UserTextBlock.Text = Text;
        }

この UserTextBlock.Text のデバッグ中は問題なく設定されていますが、表示するにはページを更新する必要があります。

4

0 に答える 0