如何选择Windows Phone 8.1 Dropdown所选项目

时间:2015-07-03 12:22:51

标签: c# xaml windows-phone-8 windows-phone windows-phone-8.1

在XAML中

<ComboBox x:Name="CmbVendor" Style="{StaticResource ComboBoxStyle}" SelectedValue="{Binding vendor_name}"  >
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <ComboBoxItem x:Name="text"  Content="{Binding vendor_name}"/>
        </DataTemplate>
   </ComboBox.ItemTemplate>
   <!--
   <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>

当我使用静态组合框项目时,我使用方法

获取数据
string Title = ((ComboBoxItem)CmbVendor.SelectedItem).Content.ToString();

但是当我改为动态时,我没有选择项目。

解决方案是什么?

请注意 在c#中,我在构造函数中调用了getdropdownvalue()

private async void getdropdownvalue()
{
    ........
    CmbVendor.ItemsSource = items;    
}

2 个答案:

答案 0 :(得分:0)

如果你添加的代码填充了Combobox,那就是:

List<VendorNames> vender_name = new List<VendorNames>();
vender_names .Add(new VendorNames() { Name = "NAMEHERE" });

然后访问所选项目:

 string Title = (CmbVendor.SelectedItem as VendorNames).Name.ToString()

这只是伪代码,希望能让你顺利进行。

答案 1 :(得分:0)

我有如下的Modelclass。

public class Row
{
  public string vendor_id { get; set; }
  public string vendor_name { get; set; }
}

然后在你的函数中

var value = CmbVendor.SelectedItem as Row;

然后

Dictionary<string, string> pairs = new Dictionary<string, string>();
pairs.Add("vendorID", value.vendor_id);