MultiValueConverter를 사용하여 textcolum으로 데이터 격자를 만들었습니다. 변환기에는 2 개의 값이 있습니다. 현재 Item의 첫 번째 종속성과 TextBlock의 두 번째 종속성입니다. 표시된 값이 내가 원하는 값입니다.MultiValueConverter를 사용하여 DataGrid의 열 정렬
<TextBox x:Name="phases"></TextBox>
<DataGrid AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False" CanUserResizeRows="False"
ItemsSource="{Binding MySource}" RowDetailsVisibilityMode="Collapsed" RowHeaderWidth="0"
SelectionMode="Single">
<DataGrid.Columns>
<DataGridTextColumn Width="Auto" Header="Pos">
<DataGridTextColumn.Binding>
<MultiBinding Converter="{StaticResource MyMultiValueConverter}">
<Binding ElementName="phases" Path="Text" />
<Binding />
</MultiBinding>
</DataGridTextColumn.Binding>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid >
열의 값 표시는 원하는 것입니다. 문제는이 열로 정렬 할 수 없다는 것입니다.
<DataGridTextColumn.SortMemberPath>
<MultiBinding Converter="{StaticResource MyMultiValueConverter}">
<Binding ElementName="phases" Path="Text" />
<Binding />
</MultiBinding>
</DataGridTextColumn.SortMemberPath>
그러나 나는 얻을 : 나는 그런 식으로 뭔가를 추가하려고 "대상 요소에 대한 FrameworkElement 또는 FrameworkContentElement에 적용 찾을 수 없습니다." 오류.
<DataGridTextColumn.SortMemberPath>
<MultiBinding Converter="{StaticResource MyMultiValueConverter}">
<Binding Path="Text" Source="{x:Reference phases}" />
<Binding Path="" />
</MultiBinding>
</DataGridTextColumn.SortMemberPath>
그런 다음 첫 번째 줄은 좋아하지만 초 동안, 나는 currentItem를 얻을 수 없다 : 나는로 변경합니다.
나는 SortEvent를 사용하려고 시도하지만, 논리가없는 SortDescription 만 추가 할 수 있습니다 (변환기에 있음).
multiValueConverter를 사용할 때 어떤 방법으로 열을 정렬 할 수 있습니까?
[DataBridColumn SortMemberPath on MultiBinding]의 가능한 복제본 (http://stackoverflow.com/questions/11193203/datagridcolumn-sortmemberpath-on-multibinding) – horns