2012-02-20 55 views
0

我認爲這很容易,但現在我不知道該怎麼做。 在WPF應用程序中,我通過單擊一個contextmenu項目從一個窗口轉到另一個窗口。我的新窗口的構造函數如下所示:在組合框中查找字符串並將其顯示出來

public Bearbeitung(int loginid, String art) 

在窗口上,有一個填充了列表的複選框。我想要的是,我複選框中的默認選定項目是art。 好吧,我檢查字符串是否在列表中,但現在我不知道如何將它設置到組合框中的selecteditem。

我該如何管理?

編輯:我已經嘗試過

combobox.SelectedItem = art; 

...這doesn't工作!

EDIT2:

Here's代碼:

 List<String> feld = new List<string>(); 
     feld = agrep.GetFelder(loginid); 
     foreach (String s in feld) 
     { 
      cbFeld.Items.Add(s); 
     } 
     if (cbFeld.Items.Contains(art)) 
     { 
      MessageBox.Show("It contains it"); 
      cbFeld.SelectedItem = art; 
     } 

在MessageBox isn't所示!

+0

藝術是您的組合框中的現有項目之一? – Akrem 2012-02-20 16:49:44

+0

好吧,如果消息框沒有顯示,那意味着cbFeld.Items.Contains返回false,並且'cbFeld.SelectedItem = art'甚至不會執行!你確定*組合框包含*完全*來自'art'的文本嗎? – Heinzi 2012-02-20 17:04:17

回答

2

如果列表項目僅僅是字符串,你可以簡單地做

myComboBox.SelectedItem = art; 
+0

我也這麼認爲,但這不起作用! – user896692 2012-02-20 16:45:45

+0

@ user896692:你有錯誤信息嗎?你的ComboBox項目真的只是字符串嗎?如果你顯示你用來綁定組合框的代碼,這可能會有所幫助。 – Heinzi 2012-02-20 16:46:37

+0

@ user896692你有組合框中的項目藝術嗎? – Akrem 2012-02-20 16:46:48

0

如果ComboBox只包含你應該能夠只需設置SelectedItem

cb.SelectedItem = art; 

如果它不僅包含您可能想要更改的字符串,例如

cb.ItemsSource = new string[] { "Item 1", "Item 2" }; 

如果您有將要設置的SelectedValueSelectedValuePath,而不是複雜的對象。

0

嘗試

cbFeld.Text = art; 

這應該工作。

0

好吧,我只是解決它。問題是,當我把字符串給另一個窗口時,已經添加了一個空白。感謝大家!

相關問題