2009-10-22 30 views
0

IM,這裏是列:命令在WPFToolkit DataGridTemplateColumn工作不使用WPFToolkit的DataGrid和IM試圖讓編輯按鈕的工作

<my:DataGridTemplateColumn> 
        <my:DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
          <TextBlock> 
           <Hyperlink Command="{Binding EditVenueCommand}" >Edit</Hyperlink> 


          </TextBlock> 
         </DataTemplate> 
        </my:DataGridTemplateColumn.CellTemplate> 
       </my:DataGridTemplateColumn> 

和我收到以下錯誤:

BindingExpression路徑錯誤:在'object''Venue'(HashCode = 18626439)'找不到'EditVenueCommand'屬性。 BindingExpression:路徑= EditVenueCommand; DataItem ='Venue'(HashCode = 18626439);目標元素是「超鏈接」(HashCode = 32883419);目標屬性是'命令'(類型'ICommand')

EditVenueCommand當它在柵格之外時完美地點燃。

也,我使用的是DataGridTemplateColumn代替DataGridHyperlinkColumn的原因是因爲我不能得到這工作,要麼:(

回答

1

發生了什麼事在你的代碼是治療「EditVenueCommand」作爲屬性的綁定它應該找到的數據模板的datacontext

你真的不應該用的結合反正掛鉤的指令,只使用指定命名空間+型+命令字段像這樣:

Command="myns:MyType.EditVenueCommand" 

myns映射到您的CLR名稱空間。例如:

<Window xmlns:myns="clr-namespace:MyNamespace;assembly=MyAssemblyName" ... 
+0

給出:'vm:VenueManagerViewModel.EditVenueCommand'不能被分配給'Command'屬性。 'CommandValueSerializer'ValueSerializer無法從'System.String'轉換。 – aaron 2009-10-22 02:16:48

+0

好吧,這很奇怪,你可以嘗試在它周圍添加{x:Static}嗎? – 2009-10-22 02:47:02

+0

似乎工作,我不得不使我ViewModel靜態,我不是真的很喜歡,但感謝您的幫助 – aaron 2009-10-22 05:02:22