Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.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/4/wpf/13.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组合框中所选项目的标记_C#_Wpf_Silverlight - Fatal编程技术网

C# 获取WPF组合框中所选项目的标记

C# 获取WPF组合框中所选项目的标记,c#,wpf,silverlight,C#,Wpf,Silverlight,我有这样的组合框: <ComboBox Name="ExpireAfterTimeComboBox" Margin="5" SelectedIndex="0"> <ComboBoxItem Content="15 minutes" Tag="15" /> <ComboBoxItem Content="30 minutes" Tag="30" /> <ComboBoxItem Content="1 hour" Tag="60" /&

我有这样的组合框:

<ComboBox Name="ExpireAfterTimeComboBox" Margin="5" SelectedIndex="0">
    <ComboBoxItem Content="15 minutes" Tag="15" />
    <ComboBoxItem Content="30 minutes" Tag="30" />
    <ComboBoxItem Content="1 hour" Tag="60" />
    <ComboBoxItem Content="1 day" Tag="1440" />
</ComboBox>

如何在代码中获取标记值?


编写类似于
ExpireAfterTimeComboBox.SelectedItem.Tag的内容不起作用。

您需要将其转换为
ComboBoxItem
类型

  var selectedTag = ((ComboBoxItem)ExpireAfterTimeComboBox.SelectedItem).Tag.ToString();
试一试


SelectionChanged
事件处理程序中,或在任何函数或事件处理程序中。

如果可以将组合框声明修改为以下内容:

<Combobox Name="ExpireAfterTimeComboBox" Margin="5" SelectedValuePath="Tag">
    <ComboBoxItem Content="15 minutes" Tag="15" IsSelected="True" />
    <ComboBoxItem Content="30 minutes" Tag="30"  />
    <ComboBoxItem Content="1 hour" Tag="60"  />
    <ComboBoxItem Content="1 day" Tag="1440"  />
</Combobox>

不是为了学究或其他什么,但是如果调用Object.ToString()方法,为什么不将selectedTag声明为字符串呢?@djdanlib-没有特别的原因。当我开始键入答案时,我使用了
var
,然后在记住
Tag
返回的是一个对象,而不是字符串之后,在末尾将
ToString
<Combobox Name="ExpireAfterTimeComboBox" Margin="5" SelectedValuePath="Tag">
    <ComboBoxItem Content="15 minutes" Tag="15" IsSelected="True" />
    <ComboBoxItem Content="30 minutes" Tag="30"  />
    <ComboBoxItem Content="1 hour" Tag="60"  />
    <ComboBoxItem Content="1 day" Tag="1440"  />
</Combobox>
var selectedTag = ExpireAfterTimeComboBox.SelectedValue;