【问题标题】:Textblock Text clears only on ShowDialog window is invoked WPF仅在调用 WPF 的 ShowDialog 窗口上清除文本块文本
【发布时间】:2017-07-19 08:01:07
【问题描述】:

在将窗口显示为对话框之前,我正在尝试清除 WPF 窗口内的 TextBlock 文本。

但 TextBlock 上的 Text 会显示一秒钟的 Previous Value,然后自动清除。

是否有可能在将窗口显示为对话框之前清除文本?

这是我的代码 sn-p:

//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();

【问题讨论】:

    标签: c# wpf modal-dialog window


    【解决方案1】:

    你为什么在 setter 中调用Dispatcher.Invoke?如果您想在调用 ShowDialog 方法之前立即重置文本,请不要这样做:

    set
    {
        lbl_PopupTitle.Text = value;
        lbl_PopupTitle.Visibility = string.IsNullOrEmpty(value) ? Visibility.Collapsed : Visibility.Visible;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多