带有objectdataprovider的WPF时间下拉框

带有objectdataprovider的WPF时间下拉框,wpf,xaml,time,combobox,objectdataprovider,Wpf,Xaml,Time,Combobox,Objectdataprovider,我正试图用3个组合框实现一个用户控件来选择时间——一个用于小时,第二个用于分钟,第三个用于秒 小时组合框中有0到23的数字可供选择 分钟和秒组合框有0到59个数字可供选择 我相信我只需要使用XAML就可以做到这一点,而不需要在代码背后动态填充组合框 <ComboBox x:Name="HoursComboBox"> <ComboBoxItem>0</ComboBoxItem> <ComboBoxItem>1</ComboBox

我正试图用3个组合框实现一个用户控件来选择时间——一个用于小时,第二个用于分钟,第三个用于秒

小时组合框中有0到23的数字可供选择

分钟和秒组合框有0到59个数字可供选择

我相信我只需要使用XAML就可以做到这一点,而不需要在代码背后动态填充组合框

<ComboBox x:Name="HoursComboBox">
    <ComboBoxItem>0</ComboBoxItem>
    <ComboBoxItem>1</ComboBoxItem>
    ...
    <ComboBoxItem>23</ComboBoxItem>
</ComboBox>
我可以在XAML中实现这个调用吗?

事实证明我可以

<UserControl x:Class="MyControls.TimeSpanSelector"
             xmlns:linq="clr-namespace:System.Linq;assembly=System.Core"
             ...>

    <UserControl.Resources>
        <ObjectDataProvider x:Key="Hours"
                            ObjectType="{x:Type linq:Enumerable}"
                            MethodName="Range">
            <ObjectDataProvider.MethodParameters>
                <sys:Int32>0</sys:Int32>
                <sys:Int32>23</sys:Int32>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>
    </UserControl.Resources>

    ...

    <Border>
        <ComboBox ItemsSource="{Binding Source={StaticResource Hours}}" />
    </Border>

    ...

</UserControl>

0
23
...
...
事实证明我可以

<UserControl x:Class="MyControls.TimeSpanSelector"
             xmlns:linq="clr-namespace:System.Linq;assembly=System.Core"
             ...>

    <UserControl.Resources>
        <ObjectDataProvider x:Key="Hours"
                            ObjectType="{x:Type linq:Enumerable}"
                            MethodName="Range">
            <ObjectDataProvider.MethodParameters>
                <sys:Int32>0</sys:Int32>
                <sys:Int32>23</sys:Int32>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>
    </UserControl.Resources>

    ...

    <Border>
        <ComboBox ItemsSource="{Binding Source={StaticResource Hours}}" />
    </Border>

    ...

</UserControl>

0
23
...
...
事实证明我可以

<UserControl x:Class="MyControls.TimeSpanSelector"
             xmlns:linq="clr-namespace:System.Linq;assembly=System.Core"
             ...>

    <UserControl.Resources>
        <ObjectDataProvider x:Key="Hours"
                            ObjectType="{x:Type linq:Enumerable}"
                            MethodName="Range">
            <ObjectDataProvider.MethodParameters>
                <sys:Int32>0</sys:Int32>
                <sys:Int32>23</sys:Int32>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>
    </UserControl.Resources>

    ...

    <Border>
        <ComboBox ItemsSource="{Binding Source={StaticResource Hours}}" />
    </Border>

    ...

</UserControl>

0
23
...
...
事实证明我可以

<UserControl x:Class="MyControls.TimeSpanSelector"
             xmlns:linq="clr-namespace:System.Linq;assembly=System.Core"
             ...>

    <UserControl.Resources>
        <ObjectDataProvider x:Key="Hours"
                            ObjectType="{x:Type linq:Enumerable}"
                            MethodName="Range">
            <ObjectDataProvider.MethodParameters>
                <sys:Int32>0</sys:Int32>
                <sys:Int32>23</sys:Int32>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>
    </UserControl.Resources>

    ...

    <Border>
        <ComboBox ItemsSource="{Binding Source={StaticResource Hours}}" />
    </Border>

    ...

</UserControl>

0
23
...
...