컬렉션에서 DataGridComboBoxColumn에 바인딩
-
19-09-2019 - |
문제
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