2016-03-29 9 views
1

Öğeler dizisine ayarlanmış bir ItemSource'a sahip bir DataGrid'im var. Şablon sütunu, boole IsChecked öğesine bağlı olan bir onay kutusuna ayarlanır ve sütunların geri kalanı dizelere ayarlanmış metin sütunlarıdır. Metin sütunlarında SortMemberPaths ve CanUserSort ayarlamaya rağmen, hala üstbilgideki sütunları sıralamak mümkün değilim. Düşüncesi olan var mı? Şimdiden teşekkürler.WPF datagrid, CanUserSort ve SortMemberPath ayarlarına rağmen sıralanmayacaktır

ItemSource Nesne

public class MyAllergy 
{ 
    public string Allergen { get; set; } 
    public string AllergenType { get; set; } 
    public string AllergyType { get; set; } 
    public string Reactions { get; set; } 
    public string TouchedWhen { get; set; } 
    public Boolean IsChecked { get; set; } 
    public Boolean IsEnabled { get; set; } 
    public string ApplicationSourceName { get; set; } 
    public string AllergyCategory { get; set; } 
    public string ConfidenceLevel { get; set; } 
    public PartialDate OnsetDate { get; set; } 
    public string Status { get; set; } 
    public string CreatedWhen { get; set; } 
    public string InformationSource { get; set; } 
    public string Text { get; set; } 
    public string ConfirmedBy { get; set; } 
    public long AllergyGUID { get; set; } 
} 

XAML

 <DataGrid AlternatingRowBackground="#FFCDDAEB" AutoGenerateColumns="False" Background="White" Height="160" HorizontalAlignment="Stretch" Margin="18,355,6,0" Name="dgUnityAllergies" VerticalAlignment="Top" Width="704" CanUserAddRows="false" FontSize="12"> 
      <DataGrid.Columns> 
       <DataGridTemplateColumn> 
        <DataGridTemplateColumn.HeaderTemplate> 
         <DataTemplate> 
          <CheckBox x:Name="all" Click="SelectAllCheckBox_Click" IsChecked="{Binding IsChecked}"/> 
         </DataTemplate> 
        </DataGridTemplateColumn.HeaderTemplate> 
        <DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
          <CheckBox IsChecked="{Binding IsChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" IsEnabled="{Binding IsEnabled}"/> 
         </DataTemplate> 
        </DataGridTemplateColumn.CellTemplate> 
       </DataGridTemplateColumn> 
       <DataGridTextColumn CanUserSort="True" Header="Category" Width ="Auto" Binding="{Binding AllergyCategory}" IsReadOnly="True" SortMemberPath="AllergyCategory"/> 
       <DataGridTextColumn CanUserSort="True" Header="Type" Width ="Auto" Binding="{Binding AllergenType}" IsReadOnly="True" SortMemberPath="AllergenType"/> 
       <DataGridTextColumn CanUserSort="True" Header="Allergen" Width ="Auto" Binding="{Binding Allergen}" IsReadOnly="True" SortMemberPath="Allergen"/> 
       <DataGridTextColumn CanUserSort="True" Header="Campus" Width ="Auto" Binding="{Binding ApplicationSourceName}" IsReadOnly="True" SortMemberPath="ApplicationSourceName"/> 
       <DataGridTextColumn CanUserSort="True" Header="Reactions" Width ="*" Binding="{Binding Reactions}" IsReadOnly="True" SortMemberPath="Reactions"/> 
       <DataGridTextColumn CanUserSort="True" Header="Entered On" Width ="Auto" Binding="{Binding TouchedWhen}" IsReadOnly="True" SortMemberPath="TouchedWhen"/> 
      </DataGrid.Columns> 
     </DataGrid> 
+1

Öğelerinizin kaynağı hakkında daha fazla kod gönderir misiniz? –

+0

'SortMemberPath =" AllergyCategory "ve" DataLrid "gibi bir özelliği varsayılan olarak – StepUp

+0

ekledikçe, nesne şemasını ekledim. SortMemberPath işlevinin kaldırılmasının maalesef kaldırılmasını sağladı. –

cevap

0

true olarak ayarlanmış fiili DataGrid üzerinde CanUserSortColumns özelliği olduğundan emin olun.

+0

Bunu ayarlıyorum ama hala çalışmıyor. –