Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.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/12.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 MVVM组合框标记选择_C#_Wpf_Mvvm_Combobox - Fatal编程技术网

C# WPF MVVM组合框标记选择

C# WPF MVVM组合框标记选择,c#,wpf,mvvm,combobox,C#,Wpf,Mvvm,Combobox,我有一个ComboBox,它有一个声明的ComboBox.Items列表(换句话说,不是通过ItemsSource动态绑定的)。我使用ComboBoxItem.Content作为显示名称,使用ComboBoxItem.Tag作为相应的Id,如下所示 如何获取所选项目返回的标记而不是内容?我尝试了SelectedItemValuePath=“Tag”,但没有成功 <ComboBox Visibility="{Binding Path=ShowOutpatientFields, Con

我有一个ComboBox,它有一个声明的ComboBox.Items列表(换句话说,不是通过ItemsSource动态绑定的)。我使用ComboBoxItem.Content作为显示名称,使用ComboBoxItem.Tag作为相应的Id,如下所示

如何获取所选项目返回的标记而不是内容?我尝试了
SelectedItemValuePath=“Tag”
,但没有成功

    <ComboBox Visibility="{Binding Path=ShowOutpatientFields, Converter=   
        {StaticResource   
            boolTovisConverter}}" Grid.Row="5" Grid.Column="2" Margin="0,2,0,2"  
        Text="{Binding Path=NewCase.ServiceType, ValidatesOnDataErrors=true,  
        NotifyOnValidationError=true}" SelectedValuePath="Tag">
          <ComboBox.Items>
             <ComboBoxItem Content="Hospice" Tag="33" />
             <ComboBoxItem Content="Hospital Outpatient" Tag="36" />
             <ComboBoxItem Content="Hospital Inpatient Extension" Tag="128" />
             <ComboBoxItem Content="Maternity" Tag="52" />
          </ComboBox.Items>
    </ComboBox>

如果ViewModel类中有此属性:

 private string _serviceType;
 public string ServiceType
 {
     get { return _serviceType; }
     set { _serviceType = value; }
 }
当然,您可以拥有int类型的属性,它也可以工作

尝试此绑定:

<ComboBox VerticalAlignment="Center" Margin="0,2,0,2"  
                SelectedValue="{Binding ServiceType}"
                SelectedValuePath="Tag">
            <ComboBox.Items>
                <ComboBoxItem Content="Hospice" Tag="33" />
                <ComboBoxItem Content="Hospital Outpatient" Tag="36" />
                <ComboBoxItem Content="Hospital Inpatient Extension" Tag="128" />
                <ComboBoxItem Content="Maternity" Tag="52" />
            </ComboBox.Items>
        </ComboBox>

给组合框起一个名称“x:name=“abcComboBox”,然后在代码端 string tag=(abcComboBox.SelectedItem作为ComboBoxItem)。tag.ToString()