Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Wpf-绑定到DateTime ArrayList的组合框_C#_.net_Wpf_Data Binding_Combobox - Fatal编程技术网

C# Wpf-绑定到DateTime ArrayList的组合框

C# Wpf-绑定到DateTime ArrayList的组合框,c#,.net,wpf,data-binding,combobox,C#,.net,Wpf,Data Binding,Combobox,我有一个静态ArrayList的DateTimes <Window.Resources> <col:ArrayList x:Key="startHours"> <sys:DateTime>0:00</sys:DateTime> <sys:DateTime>0:30</sys:DateTime> <!-- .... --> </col:Array

我有一个静态
ArrayList
DateTimes

<Window.Resources>
    <col:ArrayList x:Key="startHours">
        <sys:DateTime>0:00</sys:DateTime>
        <sys:DateTime>0:30</sys:DateTime>
        <!-- .... -->
    </col:ArrayList>
</Window.Resources>

项目的格式为ok-
hour:minute
,但当我选择一个项目时,
cmbFinish.Value
具有默认的
DateTime.ToString()
格式。我错过了什么?我需要
cmbFinish.Value
采用
hour:minute
格式

我在ComboBox类中没有看到
属性。您是否在考虑SelectedValue属性?
在本例中,将其值强制转换为DateTime
(DateTime)CMBFish。SelectedValue
,然后可以将其转换为所需的字符串格式。

我在ComboBox类中没有看到
属性。您是否在考虑SelectedValue属性?
在本例中,将其值强制转换为DateTime
(DateTime)CMBFish。选择的值可以转换为所需的字符串格式。

对不起。。。我的组合框有一个
IsEditable
(我忘了将其添加到问题中)属性设置为
True
。根据本例中的
。SelectedValue
将拾取源值,即使应用了转换器


如果
IsEditable
属性设置为
False
,则项目格式和.code>SelectedValue
格式没有差异。现在我认为最好的方法是绑定到转换为字符串的ArrayList

对不起。。。我的组合框有一个
IsEditable
(我忘了将其添加到问题中)属性设置为
True
。根据本例中的
。SelectedValue
将拾取源值,即使应用了转换器


如果
IsEditable
属性设置为
False
,则项目格式和.code>SelectedValue格式没有差异。现在我认为最好的方法是绑定到转换为字符串的ArrayList

谢谢你的回答,你是对的,我是说cmvFinish.SelectedValue。很抱歉,如果我没有说清楚,我不明白您所说的(DateTime)CMBFish.SelectedValue并将其转换。如果您的组合框是可编辑的,SelectedValue属性可能包含DateTime或null。在将SelectedValue转换为DateTime之前,必须先检查它。在这两种情况下,您都可以阅读ComboBox.Text值来阅读键入的文本。谢谢您的回答,您是对的,我是说cmvFinish.SelectedValue。很抱歉,如果我没有说清楚,我不明白您所说的(DateTime)CMBFish.SelectedValue并将其转换。如果您的组合框是可编辑的,SelectedValue属性可能包含DateTime或null。在将SelectedValue转换为DateTime之前,必须先检查它。在这两种情况下,您都可以读取ComboBox.Text值来读取键入的文本。
<ComboBox x:Name="cmbFinish" 
          ItemsSource="{Binding Source={StaticResource startHours}}" 
          ItemStringFormat="t"/>