문제

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;
        }
    }
}

그러나 내가 정말로 필요한 것은 이것입니다 DatagridComboBoxColumn '에스. 내 수정 사항은 다음과 같습니다.

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>

씨#:

동일하게 유지됩니다.

문제 이제 빈 콤보 박스 기둥을 얻는다는 것입니다! 내가 이것을 어떻게 작동시킬 수 있는지 아이디어가 있습니까?

장기적으로는 2 웨이 바인딩이 필요합니다. 여기서 FirstName 열의 두 번 클릭하면 Comobo Box가 제기 된 다음 컬렉션에서 가능한 모든 이름의 옵션 (예 : George, Jim 및 Amy)이 있습니다.

도움을 주셔서 감사합니다!

도움이 되었습니까?

해결책

WPF Toolkit Datagrid와 관련하여 최고의 참조 중 하나를 지적하고 싶었습니다. 사무엘 무라에서 나는 15 개의 샘플을 다운로드하고 편리하게 유지했다. 나는 당신에게 DataGrid Post 시리즈가 내가 당신에게 빠른 답변으로 줄 수있는 것보다 어떤 참조보다 더 유용하다는 것을 알기 때문에 당신에게 링크를 제공합니다.

다른 팁

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: DataGridComboBoxColumn.ItemsSource가 작동하지 않습니다.

그러나, 워크 라운드가 만들어졌습니다 WPF Datagrid와 함께 콤보 상자 사용. 마지막으로 기사를보고 싶을 수도 있습니다. Datagrid로 더 재미 있습니다 마가렛 파슨스도 마찬가지입니다.

편집하다
이제 위의 코드가 작동하는지 확실하지 않습니다. 나는 기억에서 그렇게하고 다른 링크를 리소스라고 언급했습니다.

이 문제를 해결하는 것으로 보이는이 게시물을 살펴보십시오. 문제 바인딩 DataGridComboBoxColumn.ItemsSource

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top