2012-02-03 60 views
1

我有一個XAML TextBlock的約束如下:在代碼背後,這個xaml綁定的等價物是什麼?

<TextBlock Text="{Binding LastName}"/> 

如何在C#代碼隱藏訪問SelectedItem.LastName?謝謝。

詳細說明:

的數據是從一個XML文件

<Player> 
<LastName>...</LastName> 
<Age>...</Age> 
</Player> 

組合框結合進行了簡化爲清楚起見如上XAML文件。

回答

1

SelectedItem屬於`playerComboBox'。因此,它應該是:

(playerComboBox.SelectedItem as TypeOfselectedItem).LastName 
+0

阿努拉格,通過TypeOfselectedItem你的意思是,我需要與其他類型如String或雙取代它取決於名字的類型?因爲我沒有看到該關鍵字。如果是這樣,如果所選項目的類型是匿名的,該怎麼辦。謝謝。 – user776676 2012-02-03 22:29:54

+0

請向您的問題添加代碼,以瞭解如何綁定到playerComboBox。 _TypeOfSelectedItem_是保存_LastName_的對象。 – 2012-02-03 23:18:51

+0

我簡化了並增加了一些代碼。現在我想在選擇組合框中的項目時在代碼後面訪問LastName和Age。 – user776676 2012-02-03 23:48:22

1

修改上面的答案:

var selectedPlayer = (Player)playerComboBox.SelectedItem; 
var age = selectedPlayer.Age; 
var lastName = selectedPlayer.LastName; 

好像這是你在找什麼。


UPDATE(如果「沒有Player類」):

dynamic player = playerComboBox.SelectedItem; 
int age = player.Age; 
string lasName = player.LastName; 
+0

我的問題是沒有播放器類。該類型是匿名的。如果我做了一個playerComboBox.SelectedItem.ToString(),它將顯示{...}中的整個XML節點。 – user776676 2012-02-05 01:02:17

+0

當我做一個playerComboBox.SelectedItem.GetType()。ToString()它說它是一個匿名類型:<> f_AnonymousType0'2 ... – user776676 2012-02-05 02:16:14

+0

請提供xaml聲明組合框(包括綁定和模板)的部分。 – 2012-02-05 18:59:33

相關問題