2012-05-21 31 views
0

我填充我的WPF的ComboBox這樣如何從C#代碼

foreach (Function fx in XEGFunctions.GetAll()) 
{ 
    ComboBoxItem item = new ComboBoxItem(); 
    item.Content = fx.Name; 
    item.ToolTip = fx.Signature;    
    //item.(some property) = fx.FunctionValue; 
    cmbBoxTransformation.Items.Add(item); 
} 
cmbBoxTransformation.SelectedIndex = 0; 

如何設置一些不同的值,每個ComboBoxItem設置WPF ComboBox項的值。

回答

4

如果您要設置的值僅用於後端,並且不會顯示給用戶,那麼Tag屬性可能是您最好的選擇。

item.Tag = fx.FunctionValue; 
+0

但如果我有我的價值我想告訴correspondi在運行時選擇的項目,其值是這個(一些文本),然後我認爲它不會工作 – Abhi

+0

你可以使用linq查詢很快找到它,我不完全清楚你想從你的問題雖然 – Developer

+0

好吧,這是很好我會遍歷一個LINQ查詢來選擇一個particualar項目的價值,我米在運行時 – Abhi

1

這個小小的蜱可幫助別人

<ComboBox SelectedIndex="1" SelectedValuePath="Tag" SelectedValue="{Binding SampleDept,Mode=OneWayToSource}" > 
           <ComboBoxItem Content="8-bit" Tag="8" ></ComboBoxItem> 
           <ComboBoxItem Content="16-bit" Tag="16" ></ComboBoxItem> 
           <ComboBoxItem Content="24-bit" Tag="24"></ComboBoxItem> 
           <ComboBoxItem Content="32-bit" Tag="32"></ComboBoxItem> 
          </ComboBox> 
public class SampleModel{ 

    public int SampleDept{ 

      get { return _sampleDept; } 
      set { 

       _sampleDept = value; 
      OnPropertyChanged("SampleDept"); 
      } 
     } 
}