سؤال

محاولة ربط مجموعة في WPF، حصلت على ما يلي للعمل:

XAML:

<toolkit:DataGrid Name="dgPeoples"/>

CS:

namespace DataGrid
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1
    {
        private readonly ObservableCollection<Person> personList = new ObservableCollection<Person>();

        public Window1()
        {
            InitializeComponent();

            personList.Add(new Person("George", "Jung"));
            personList.Add(new Person("Jim", "Jefferson"));
            personList.Add(new Person("Amy", "Smith"));

            dgPeoples.ItemsSource = personList;
        }
    }
}

Unnessecary ربما ولكن هنا فئة الشخص:

namespace DataGrid
{
    public class Person
    {
        public string fName { get; set; }
        public string lName { get; set; }

        public Person(string firstName, string lastName)
        {
            fName = firstName;
            lName = lastName;
        }
    }
}

ولكن ما أحتاجه حقا هو هذا في datagridcomboxcolumn. 'س. إليك مراجعاتي:

XAML:

<toolkit:DataGrid Name="dgPeoples" Grid.Row="0" AutoGenerateColumns="False">
    <toolkit:DataGrid.Columns>
        <toolkit:DataGridComboBoxColumn Width="5*"/>
        <toolkit:DataGridComboBoxColumn Width="5*"/>
    </toolkit:DataGrid.Columns>
</toolkit:DataGrid>

C #:

يبقى نفسه.

مشكلة الآن هو أنني أحصل على أعمدة combobox فارغة! أي أفكار كيف يمكنني الحصول على هذا للعمل؟

على المدى الطويل، أحتاج إلى 2 طريقة ملزمة، حيث يؤدي النقر المزدوج على عمود الاسم الأول إلى إصدار مربع Comobo الذي يحمل بعد ذلك خيارات جميع الأسماء الأولى الممكنة في المجموعة (أي جورج وجيم وأمي).

ممتن أي مساعدة!

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

المحلول

أردت فقط أن أشير إليك إلى أحد أفضل المرجع عندما يتعلق الأمر ب DataKit DataGrid WPF، فهو يأتي من من صموئيل مورا لقد قمت بتنزيل العينات الخمسة عشر وحفظها في متناول يدي، وأنا أعطيك الرابط لأن ستجد سلسلة مشاركة DataGrid أكثر فائدة من أي مرجع مما يمكنني أن أعطيك كإجابة سريعة

نصائح أخرى

DataGrid يحتاج إلى الحصول على Header و ItemsSource مجموعة خصائص:

<toolkit:DataGrid Name="dgPeoples" Grid.Row="0" AutoGenerateColumns="False">
    <toolkit:DataGrid.Columns>
        <toolkit:DataGridComboBoxColumn Width="5*"
            Header="First Name"
            ItemsSource="{Binding Path=fName}"/>
        <toolkit:DataGridComboBoxColumn Width="5*"
            Header="First Name"
            ItemsSource="{Binding Path=lName}"/>
    </toolkit:DataGrid.Columns>
</toolkit:DataGrid>

يبدو أنه كان هناك مشكلة في أحد إصدارات مجموعة الأدوات عند استخدام DataGridComboBoxColumn.ItemsSource: datagridcomboxcolumn.itemsource لا يعمل.

ومع ذلك، كان هناك عمل حول العمل باستخدام مربعات التحرير والسرد مع DataGrid WPF. وبعد أخيرا، قد ترغب في إلقاء نظرة على المقال أكثر متعة مع datagrid بواسطة مارغريت بارسونز كذلك.

يحرر
الآن أنا لست متأكدا من أن الكود أعلاه يعمل. فعلت ذلك من الذاكرة وأشارت إلى الروابط الأخرى كموارد.

ألق نظرة على هذا المنشور الذي يبدو أنه يتناول هذه المشكلة: مشكلة ملزمة datagridcomboxcboxcolumn.itemsource.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top