簡體   English   中英

為什么DatePicker的Text屬性仍然包含值?

[英]Why Text property of a DatePicker still contains value?

我正在構建一個WPF / C#應用程序,我使用此構造引用了幾個DatePicker-s:

for(int i = 0; i < n; i += 1)
{
    DatePicker dp = (DatePicker)this.FindName(Constants.DP_PRODUCT_PREFIX + (i + 1));
    dp.SelectedDate = new DateTime(2017, 12, 31);
    dp.IsEnabled = true;
    dp.Opacity = 1;
    dp.Text = "";
 }

但是即使我設置

dp.Text = "",

DatePickers仍在2017年12月31日顯示其文本字段。

注意:我希望將DatePicker設置為我選擇的默認值,在這種情況下為31.12.2017

我做錯了什么? 可能是我運行這段代碼的時間,它不應用更改嗎?

您可以在DatePicker模板(顯示SelectedDate值)中找到DatePickerTextBox來分配新值。Template中DatePickerTextBox的默認名稱為“ PART_TextBox”,因此您可以從Template中找到它

dp.Loaded += (ee, ss) =>
        {
            var template = dp.Template;
            var t = template.FindName("PART_TextBox", dp) as DatePickerTextBox;
            if (t != null)
                t.Text = "";
        };

將代碼放入Loaded事件中,以確保DatePickerTextBox不為null。您還可以通過右鍵單擊控件然后選擇編輯樣式來查看DatePicker模板。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM