實現了一個Sliverlight可拾取時間和日期的控件
先看產品使用時功能:
右側按鍵“...”點擊後的樣子
下方時間選擇後的樣子
本控件失去焦點後自動彈回下拉框。
目前還存在一點小問題就是無法很好地通過鍵盤輸入編輯時間。
實現過程:
界面就是TextBox、Button、GlobalCalendar和TimePicker的組合使用
<UserControl xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" x:Class="KJ24BS.Controls.DateTimePicker"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:toolkit_input="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit"
xmlns:toolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:BSConverter="clr-namespace:KJ24BS.Converters"
mc:Ignorable="d">
<StackPanel >
<StackPanel Orientation="Horizontal" >
<TextBox x:Name="_txtBoxDateTime" Width="124" />
<Button Content="..." Click="Button_Click"/>
</StackPanel>
<Popup x:Name="_popup" >
<Border x:Name="PopupRoot" BorderBrush="#FF8d8b8b" BorderThickness="1">
<StackPanel>
<toolkit:GlobalCalendar x:Name="_calendar" HorizontalAlignment="Left" SelectionMode="SingleDate" />
<toolkit_input:TimePicker x:Name="_timePicker" HorizontalAlignment="Stretch"/>
</StackPanel>
</Border>
</Popup>
</StackPanel>
</UserControl>
後臺實現有200多行,就提供給大家下載吧。