이전 게시물 (here)의 후속 질문입니다.Xaml의 동적 열 바인딩
'헤더'정보가 다음과 같이 저장되어 있습니다. Dictionary<string,string>
- 첫 번째 문자열은 필드 이름을 나타내고 두 번째 머리글은 표시된 문자를 나타냅니다.
나는 동적 데이터 집합이 다음과 같이 저장됩니다. Dictionary<string, object>
- 여기서 string은 필드 이름입니다. 1 제가
문제 2 I는 열이 원하는 (공급 된 헤더 정보를 사용)이 열을 자동 생성 할
<data:DataGrid Name="_dataGrid" AutoGenerateColumns="True" IsReadOnly="False" Margin="5" Height="200">
<data:DataGrid.Columns>
<data:DataGridTextColumn Header="Forename" CanUserSort="True" SortMemberPath="Forename"
Binding="{Binding Converter={StaticResource RowIndexConverter},
ConverterParameter=Forename}"/>
<data:DataGridTextColumn Header="Surname" CanUserSort="True" SortMemberPath="Surname"
Binding="{Binding Converter={StaticResource RowIndexConverter},
ConverterParameter=Surname}"/>
<data:DataGridTextColumn Header="Age" CanUserSort="True" SortMemberPath="Age"
Binding="{Binding Converter={StaticResource RowIndexConverter},
ConverterParameter=Age}"/>
<data:DataGridTextColumn Header="Shoesize" CanUserSort="True" SortMemberPath="Shoesize"
Binding="{Binding Converter={StaticResource RowIndexConverter},
ConverterParameter=Shoesize}"/>
</data:DataGrid.Columns>
</data:DataGrid>
문제점 :
난으로 XAML이 바인딩 즉 boolean = checkbox)
문제점 3 이상적으로 나는 또한 첫 번째 열에 버튼이 있어야하는지 날씨를 지정하고 싶습니다 (예 :
같은 일을 할, 유형을 사용하여 이러한 유형 그리고
을 생성하는 방법에 대한 자세한 내용은 this post를 참조하십시오, 그러나 당신을 설정해야 오른쪽 경로에. – kenwarner
아, 맞아. 전에 블라디미르 보두 로프의 방법을 들여다 보았다. 그리고 정말 멋집니다. 그러나 동적 유형 생성은 디자인 타임에 강력한 입력을 사용할 수 없다는 것을 의미하며 런타임 디버깅은 null을 반환합니다. 콜린 (Colin)은 다음과 같은 좋은 게시물을 가지고 있습니다. http://www.scottlogic.co.uk/blog/colin/2009/04/binding-a-silverlight-datagrid-to-dynamic-data-via-idictionary/comment-page- 1/# comment-5535 어떤 일을하는 '표준'방법을 설명합니다. 다른 컨트롤을 사용할 때 약간의 조정이 필요하지만 C# 코드는 매우 세련된 솔루션입니다. –