即时通讯使用WPFToolkit的DataGrid,我试图让编辑按钮正常工作,这里是专栏:

<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); target元素是'Hyperlink'(HashCode = 32883419); target属性是'Command'(类型'ICommand')

当EditVenueCommand位于网格之外时,它将完美地启动。

另外,我使用DataGridTemplateColumn而不是DataGridHyperlinkColumn的原因是因为我无法使其工作:(

有帮助吗?

解决方案

您的代码中发生的事情是绑定正在处理“EditVenueCommand”作为它应该在数据模板的datacontext上找到的属性。

你真的不应该使用Binding来连接命令,只需使用指定命名空间+类型+命令字段,如下所示:

Command="myns:MyType.EditVenueCommand"

myns映射到CLR命名空间的位置。例如:

<Window xmlns:myns="clr-namespace:MyNamespace;assembly=MyAssemblyName" ...
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top