2009-12-05 51 views
0

我有一列用於編輯行的按鈕, 但id鍵不是唯一的值,而是三個值。 如何在按鈕中設置三個值,這樣當點擊按鈕時,我可以在代碼後面得到三個值?如何將多個值綁定到silverlight中的DatagridTemplate列?

    <dg:DataGridTemplateColumn Header="Edit"> 
        <dg:DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
          <Button Content="Adjust" DataContext="{Binding wId1}" Click="EditButton_Click" /> 
         </DataTemplate> 
        </dg:DataGridTemplateColumn.CellTemplate> 
       </dg:DataGridTemplateColumn> 

我想通過WID1,WID2,wId3。 此外,可以通過字符串值wId1 + wId2 + wId3傳遞一個值?

請告訴我任何關於此的閱讀,非常感謝。

+0

我可能會誤解你的問題 - wID1是你綁定的類的屬性嗎? – PortageMonkey 2009-12-05 04:34:44

回答

1

爲什麼不使用{綁定}綁定整個對象DataContext。 在後面的代碼中,您可以將DataContext轉換爲對象類型並訪問所需的任何屬性。

您還可以使用不同ID的數組或列表的自定義屬性並綁定它。

如果您因某種原因只想將ID傳遞給後面的代碼,則可以使用僅返回一個列表或一個數組到ID的ValueConverter。

{Binding Converter={StaticResource MyConverter}} 

希望它有幫助。

0

你可以綁定到任何公共屬性,所以一個選項可能是有一個屬性,只是返回連接的字符串?沿線的東西:

public string ConcatenatedValues 
{ 
    get 
    { 
     return wId1 + wId2 + wId3; 
    } 
} 

然後綁定到那。如果有更優雅的方式會很有趣,但是這應該能夠完成工作。

相關問題