文本块文本仅在调用ShowDialog窗口时清除WPF
问题描述:
我想在将窗口显示为对话框之前清除WPF窗口内的TextBlock文本。文本块文本仅在调用ShowDialog窗口时清除WPF
但TextBlock上的文本显示一秒的先前值,然后自动清除。
有没有可能在将窗口显示为对话框之前清除文本?
这里是我的代码片段:
//Code in Window Control:
public string PopupTitle
{
get
{
string response = string.Empty;
this.Dispatcher.Invoke((Action)delegate
{
response = lbl_PopupTitle.Text;
}, null);
return response;
}
set
{
this.Dispatcher.Invoke((Action)delegate
{
lbl_PopupTitle.Text = value;
lbl_PopupTitle.Visibility = string.IsNullOrEmpty(value) ? Visibility.Collapsed : Visibility.Visible;
}, null);
}
}
//Code to call this window:
PopupWindow popup = new PopupWindow();
popup.PopupTitle = string.Empty;
popup.ShowDialog();
答
你为什么要调用的setter Dispatcher.Invoke
?如果要在ShowDialog
方法被调用之前立即重置文本,请不要这样做: