سؤال

والتراسل الفوري باستخدام DataGrid في WPFToolkit وايم محاولة للحصول على تحرير زر العمل، وهنا هو العمود:

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


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

ووأنا على الحصول على الخطأ التالي:

والخطأ مسار BindingExpression: الملكية "EditVenueCommand" لم يتم العثور على 'الكائن' '' مكان '(شفرة التجزئة = 18626439). BindingExpression: مسار = EditVenueCommand. DataItem = 'المكان' (شفرة التجزئة = 18626439)؛ العنصر الهدف هو "ارتباط تشعبي" (شفرة التجزئة = 32883419)؛ الملكية الهدف هو 'القيادة' (نوع 'ICommand')

وعلى EditVenueCommand وfireing تماما عندما يكون خارج الشبكة.

وأيضا، والسبب أنا باستخدام DataGridTemplateColumn بدلا من DataGridHyperlinkColumn هو لأنني لم أستطع الحصول على هذا العمل إما: (

هل كانت مفيدة؟

المحلول

وماذا يحدث في التعليمات البرمجية هو أن الربط هو علاج "EditVenueCommand" كخاصية أنه ينبغي أن تجد على datacontext من القالب البيانات.

وأنت حقا لا ينبغي استخدام الربط لعقف أمر على أي حال، ومجرد استخدام تحديد مساحة الاسم + نوع + الحقل أمر مثل ذلك:

Command="myns:MyType.EditVenueCommand"

وأين يتم تعيين myns إلى مساحة CLR الخاص بك. على سبيل المثال:

<Window xmlns:myns="clr-namespace:MyNamespace;assembly=MyAssemblyName" ...
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top