2013-02-15 59 views
2

我託管在Windows窗體 一個WPF用戶控件在WPF用戶控件我使用的是timepicker從wpfToolkit.extendedTimepicker Updatesourcetrigger =的PropertyChanged不會改變價值

如果我使用向上或downkeys或只需在textfield中輸入一個時間源不會更新allthough我正在使用Updatesourcetrigger = propertychanged。

當我在dropdrownlist中選擇一個時間時,一切都按照它應該的方式工作。 這是工具包的命名空間。

xmlns:xctk="clr-namespace:Xceed.Wpf.Toolkit;assembly=WPFToolkit.Extended" 

這是timepicker的XAML

<xctk:TimePicker Format="LongTime" TimeInterval="00:15:00.000" Value="{Binding Path=StartTime, UpdateSourceTrigger=PropertyChanged}" ></xctk:TimePicker> 

如果我點擊WPFusercontrol外不改變焦點在WPF用戶控件先在另一臺控制。綁定時間未更新。

任何想法如何解決這個問題?

回答

2

找到了這個問題的解決方案: 我給了TimePicker一個名字(在本例中爲'tpFrom'),然後我使用了TimePicker上的TextBoxBase.TextChanged事件。 這是XAML中貌似現在:

<xctk:TimePicker Name="tpFrom" Format="LongTime" TextBoxBase.TextChanged="TimePicker_TextChanged" TimeInterval="00:15:00.000" Value="{Binding Path=StartTime, UpdateSourceTrigger=PropertyChanged}"></xctk:TimePicker> 

在後面的代碼在我們的事件處理程序,我們會把重點放在我們的timepicker。

private void TimePicker_TextChanged(object sender, TextChangedEventArgs e) 
    { 
     tpFrom.Focus();    
    } 

現在每次文字的變化,價值的變化,以及和問題解決:-)

0

TimePicker是否具有Text屬性?如果是這樣,請嘗試綁定到那個。

我認爲這種行爲可能是爲了防止您鍵入時綁定到錯誤的日期時間。我猜測當焦點丟失時,它會嘗試設置屬性並進行錯誤檢查。如果它在你輸入的時候這樣做了,它會在你改變任何時候不斷改變它的值(比如刪除一個字符)。

有沒有什麼具體的事情,你正在嘗試做你打字?

+0

它不具有文本屬性 – 2013-02-15 13:38:05

+0

這個問題是不是真的打字(不進展順利在這個時間選擇器中),但使用箭頭來增加和減少小時數等....如果我按下wpf用戶控件之外的保存按鈕,更改不在該值中。 – 2013-02-15 15:16:02

相關問題