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 のデバッグ中は問題なく設定されていますが、表示するにはページを更新する必要があります。