2010-02-05 42 views
1

我剛剛開始使用Silverlight。我有一個DataGrid,其ItemsSource鏈接到ObservableCollection。 DataGrid的每一行(AutoGenerateColumns =「False」)都有一些來自對象和按鈕的值。我怎樣才能將一個「命令參數」關聯到按鈕,以便我知道哪個按鈕被點擊了哪一行?Silverlight 3按鈕點擊參數

謝謝

回答

2

您可以使用標籤attrribute。假設集合中的對象具有「ID」屬性,您可以用按鈕控制的「標籤」屬性綁定到該ID的對象:

<Button Tag="{Binding Id}" .../> 

,或者你可以將整個對象存儲在標籤

<Button Tag="{Binding Path=.}" .../> 

然後在單擊處理程序,你必須使用sender參數獲取發送者控制並提取標籤信息:

Button btn = sender as Button; 
var tagValue = btn.Tag; // object binded to "tag" attribute 
0

我發現關於T的DataContext財產他Button對象,在這種情況下,返回該行所基於的對象。