是否可以使用LightSwitch的默认DateTimePicker?

时间:2014-03-04 09:42:18

标签: c# xaml visual-studio-2012 datetimepicker visual-studio-lightswitch

为了开发自定义控件,我正在搜索DateTimePicker,但我找不到任何有用的信息。 LightSwitch的内置功能非常适合我的目的:

enter image description here
enter image description here enter image description here

我可以将此控件用于我自己的目的吗?如果是这样,怎么样?如果没有,还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

我能找到的最简单方法是创建一个UserControl,然后在网格中并排放置DatePickerTimePicker

在控件的代码隐藏中,声明两个包含所需数据的DateTime变量:

public class MyControl
{
    public DateTime MyDate { get; set; }
    public DateTime MyTime { get; set; }

    ...

在控件的xaml中,包含以下命名空间:

xmlns:Ctls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
xmlns:ImplCtls="clr-namespace:Microsoft.LightSwitch.Presentation.Implementation.Controls;assembly=Microsoft.LightSwitch.Client.Internal"

控件的定义:

    <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <Ctls:DatePicker Grid.Row="0" Grid.Column="0"
                         SelectedDateFormat="Short"
                         SelectedDate="{Binding Path=MyDate, ElementName=MyUserControl, Mode=TwoWay}"/>
        <ImplCtls:BaseTimePicker Grid.Row="0" Grid.Column="1"
                                 Value="{Binding Path=MyTime, ElementName=MyUserControl, Mode=TwoWay}"/>
    </Grid>

希望这有助于某人...