2012-01-12 95 views
1

我有一個大約20個項目的組合框。我想關聯每個ComboBoxItem的5個屬性,例如顏色,價格,運輸重量等。如何在xaml文件中存儲和檢索ComboBoxItem的屬性?

我想將所有這些屬性存儲在xaml文件中,並在C#代碼中選擇項目時檢索它們。

我最好如何做到這一點?將所有內容都存儲在Tag中並解析Tag字符串是最好的方法?謝謝。

<ComboBoxItem Content="Shirt" Tag="Red;14;2"></ComboBoxItem> 

回答

1

可以任何存儲在標籤,如果你想要更多類型safetry創建一個對象:

<ComboBoxItem> 
    <ComboBoxItem.Tag> 
     <local:Attributes Color="Red" Min="2" Max="14"/> 
    <ComboBoxItem.Tag> 
<ComboBoxItem> 

但即使是更好,但你不應該在自己創建的項目,但只是有一個物品收集和bind/data template它使用ComboBox.ItemsSourceItemTemplate,那麼你可以存儲該項目。

ComboBox.SelectedItem將直接成爲您需要的所有屬性的項目。

+0

你能告訴我如何使用你的例子檢索Color屬性嗎?現在我正在使用...(comboBox1.SelectedItem).Tag.ToString()來檢索標籤的值。謝謝。 – user763554 2012-01-12 00:29:57

+0

@ user763554:如果標籤是如上所示的這樣一個對象,那麼您只需要對其進行投射。 var atts =((Attributes)((ComboBoxItem)comboBox1.SelectedItem).Tag;'然後你可以用'atts.Color'做一些事情(如果你是XAML的新手,你可能會對[那個概述]感興趣http://msdn.microsoft.com/en-us/library/ms752059.aspx) – 2012-01-12 00:40:26

+0

絕對完美!謝謝。 – user763554 2012-01-12 00:50:08

相關問題