문제

wpftoolkit의 DataGrid를 사용하고 있으며 편집 버튼을 얻으려고 노력하고 있습니다. 여기에 열이 있습니다.

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


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

다음과 같은 오류가 발생합니다.

Bindingexpression 경로 오류 : 'EditvenUecommand'속성 '객체' ''장소 '(Hashcode = 18626439)에서 찾을 수 없습니다. BindingExpression : Path = EditvenUecommand; dataItem = '장소'(Hashcode = 18626439); 대상 요소는 '하이퍼 링크'입니다 (Hashcode = 32883419); 대상 속성은 '명령'입니다 ( 'iCommand'유형)

editvenuecommand는 그리드 외부에있을 때 완벽하게 발사됩니다.

또한 DataGridHyperLinkColumn 대신 DatagridTemPlateColumn을 사용하는 이유는 다음과 같은 작업을 수행 할 수 없었기 때문입니다.

도움이 되었습니까?

해결책

코드에서 일어나는 일은 바인딩이 "editvenuecommand"를 데이터 템플릿의 데이터 컨텍스트에서 찾을 수있는 속성으로 취급한다는 것입니다.

바인딩을 사용하여 어쨌든 명령을 연결하지 않아야합니다.

Command="myns:MyType.EditVenueCommand"

Myns가 CLR 네임 스페이스에 매핑되는 곳. 예를 들어:

<Window xmlns:myns="clr-namespace:MyNamespace;assembly=MyAssemblyName" ...
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top