0

我正在使用 WPFToolkit 的 DataGrid 并试图让编辑按钮工作,这里是专栏:

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


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

我收到以下错误:

BindingExpression 路径错误:在“对象”“地点”(HashCode=18626439)上找不到“EditVenueCommand”属性。BindingExpression:Path=EditVenueCommand; DataItem='地点' (HashCode=18626439); 目标元素是“超链接”(HashCode=32883419);目标属性是“命令”(类型“ICommand”)

当 EditVenueCommand 在网格之外时,它会完美触发。

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

4

1 回答 1

1

您的代码中发生的情况是绑定将“EditVenueCommand”视为应在数据模板的数据上下文中找到的属性。

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

Command="myns:MyType.EditVenueCommand"

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

<Window xmlns:myns="clr-namespace:MyNamespace;assembly=MyAssemblyName" ...
于 2009-10-22T02:01:03.647 回答