2010-01-28 138 views
0

我確定我在這裏很容易丟失一些東西。對於C#/ WPF的Timepicker來說,幾乎所有的互聯網搜索指向這個網頁:http://jobijoy.blogspot.com/2007/10/time-picker-user-control.html,因此我認爲它可以正常工作。但是,當我將其複製/粘貼到用戶控件中並運行時,該控件顯示爲應該顯示,但是當我單擊數字並按向上或向下時,什麼都不會發生。即使在調試模式下,KeyDown事件的開關盒上有一個斷點,也沒有任何反應。它沒有註冊KeyDown事件。它應該專注於包含TextBlock的網格,所以我嘗試將KeyDown更改爲TextBlock,但無濟於事。我似乎無法得到這個工作! :(我正在使用Visual Studio 2008.似乎無法使Timepicker工作(C#/ WPF)

回答

0

我認爲你是控制沒有得到專注,出於某種原因,我也嘗試過,並且事件也不會爲我開火This post might offer some insight.手動將焦點設置在Loaded事件的用戶控件並沒有爲我工作,雖然

該做的工作,我在做以下所有的唯一的事情:

  • 改變的TextBlock到一個TextBox並在那裏移動事件(使用文本框的焦點非常明顯)
  • 在事件t中更改演員t ØFrameworkElement的(這是Name屬性來自),而不是電網
  • 改變的情況下,以文本框的名字(而非網格的名稱)
  • 改變事件的PreviewKeyDown(獲取光標鍵進行註冊)

當然,這隻會讓事件觸發並正確註冊,這些值似乎不會顯示出來(甚至在我更改代碼之前),但它會處理事件不發射的具體問題。

+0

非常感謝您的幫助!我只是將TextBlocks更改爲TextBoxs,將KeyDown更改爲PreviewKeyDown,現在它起作用了!但是,DependencyProperties存在無限遞歸錯誤。 – Brandon 2010-01-29 13:47:41

1

WPF Toolkit中包含一個官方的Microsoft DateTimePicker控件。這將是框架的一部分,在.NET 4.0中

+0

我相信DatePicker是包含的內容,它不是DateTimePicker。 – Brandon 2010-01-29 14:52:39

+0

你是對的!我知道它在那裏,但從來沒有真正使用它,我很驚訝它只能做日期。我使用Actipro WPF Studio中的DateTimeEditor,但這不是免費的。 – 2010-01-29 15:23:24

+2

是的,這個博客表示它應該是非常簡單的,我相信如果我理解包裝和依賴和數據綁定,但我是C#和WPF的新手。我在Stack Overflow和其他類似的網站上看到過其他問題,例如「我在哪裏可以找到TimePicker」,而大多數答案是「您可以輕鬆推出自己的產品」並指向此博客。但是,這個博客的代碼不起作用,如果你不理解這些概念,你就會陷入困境。大聲笑 – Brandon 2010-01-29 15:36:54

0

有一個datepicker和Silverlight 4中

一個TimePicker如果你願意,你可以創建自己的控制與那些或簡單地用每一個分開。

相關問題