My ComboBoxItems具有表示要選擇的項目名稱的字符串值,但我已將該項目的值存儲在ComboBoxItem
的Tag
屬性中。我使用Tag
作爲相當於下拉列表項目Value
的asp.net。根據其標記值選擇ComboBoxItem
在後面,我將DataGrid模板列的代碼,我設置了ComboBoxItem
如下:
<ComboBoxItem Tag='" + product.ProductGuid + "' Content='" + product.Name + "'></ComboBoxItem>
我需要根據Tag
值不是內容以編程方式選擇ComboBoxItem
。在下面的代碼,currentProduct
持有ProductGuid值,我需要選擇,但是這個代碼將選擇其內容的ComboBoxItem
是我currentProduct
((ComboBox)QuotationDG.Columns[0].GetCellContent(MyData[MyData.Count - 1])).SelectedValue = currentProduct;
有沒有一種方法來設置ComboBox
選中的值給ComboBoxItem
其標籤值是currentProduct
?
編輯:
下面是我用綁定我的組合框柱代碼:
private string CreateDDLColumnEditTemplate(int index, string propertyName, List<Product> ProductList)
{
StringBuilder CellTemp = new StringBuilder();
CellTemp.Append("<DataTemplate ");
CellTemp.Append("xmlns='http://schemas.microsoft.com/winfx/");
CellTemp.Append("2006/xaml/presentation' ");
CellTemp.Append("xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'>");
CellTemp.Append(String.Format("<ComboBox SelectedValue='{{Binding [{0}], Mode=TwoWay}}'>",0));
foreach (Product product in ProductList)
{
CellTemp.Append("<ComboBoxItem Tag='"+product.ProductGuid+"' Content='" + product.Name + "'></ComboBoxItem>");
}
CellTemp.Append(String.Format("</ComboBox>"));
CellTemp.Append("</DataTemplate>");
return CellTemp.ToString();
}
這些答案是否適合您? – psoshmo
你在找什麼是'ComboBox.SelectedValuePath'和'ComboBox.SelectedValue'。這兩個相結合將做你的嘗試。 – Martin