سؤال

انا تطوير WPF تحكم المستخدم لعرض أجزاء من ملفات XML.أنا في محاولة لجعل المستخدم التحكم مرنة بحيث يمكن تعيين عناوين الأعمدة والبيانات الميدانية روابط من خارج السيطرة.

لقد وجدت أنني يمكن بسهولة تغيير عناوين الأعمدة ، ولكن حين البرمجية التالية ويبدو أن الوعد SertMemberPath لا يغير مجال ملزمة

public void ChangeColumnDefinitions ( List<XmlGridColumnDefinition> columns )
{
     int columnnum = 0;

     foreach ( XmlGridColumnDefinition column in columns )
     {
         this.datagrid.Columns[columnnum].Header = column.Heading;
         this.datagrid.Columns[columnnum].SortMemberPath = string.Format ( "Element[{0}].Value", column.FieldName );
            ++columnnum;
     }
}
هل كانت مفيدة؟

المحلول

بعد النظر في جميع أنحاء أكثر وجدت هذا السؤال والجواب من قبل @Generic_Error على ذلك.انا عدلت الكود قليلا هنا ما جاء مع هذا الذي أستطيع أن تخصيص أكثر من ذلك.

public void ChangeColumnDefinitions ( IEnumerable<XmlGridColumnDefinition> columns )
{
    this.datagrid.Columns.Clear ();

    foreach ( var column in columns )
    {
            DataGridTextColumn coldef = new DataGridTextColumn
            {
                    Header = column.Heading,
                    Binding = new Binding ( string.Format ( "Element[{0}].Value", column.FieldName ) )
            };

            this.datagrid.Columns.Add ( coldef );
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top