2015-07-03 64 views
0

在XAML如何选择的Windows Phone 8.1下拉所选项目

<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#我在构造函数中

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

回答

0

称为getdropdownvalue()如果您添加填充组合框的代码是沿着线的东西:

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

然后进入所选item:

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

这只是p希望代码能够帮助你顺利完成任务。

+0

太谢谢你了。但即时获取下面的错误无法投入“行”类型的对象键入“Windows.UI.Xaml.Controls.ComboBoxItem”。 – Vel

+0

@Vel看看这篇文章:http://stackoverflow.com/questions/2348646/how-do-i-get-the-text-value-from-a-combobox-in-wpf它谈论的错误。虽然它不是太具体到你的问题,但它是一致的。我不太确定,所以只是看看。 – Zer0

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);