2012-04-05 62 views
2

我最近對使用DataGrid從WPF工具包(和擴展工具包)上DataGridTemplateColumn排序與轉換器

我使用的是datagridtemplatecolumn因爲我展示了一些值的提示WPF應用程序工作對於一些用戶。其他列是datagridtextcolumns。

我可以通過在狀態上添加sortmemberpath來排序狀態,但狀態是一個數字(1,2,3,4,5 ..),並將這些數字轉換爲另一列的名稱。如果我通過這個排序路徑排序,我首先得到1然後2,然後3等,但我想按字母順序排序轉換後的值。

<Toolkit:DataGridTemplateColumn x:Name="dgtcStatus" Header="Status" SortMemberPath="Status_W52" Width="*"> 
    <Toolkit:DataGridTemplateColumn.CellTemplate> 
    <DataTemplate> 
     <TextBlock x:Name="Status" Text="{Binding Path=Status_W52, Converter={StaticResource StatusConverter}}"> 
     <TextBlock.ToolTip> 
      <ToolTip Visibility="{Binding Path=Status_W52, Converter={StaticResource VisibilityConverter}}"> 
      <TextBlock Text="{Binding Path=Discription_W52, Converter={StaticResource DiscriptionConverter}}"/> 
      </ToolTip> 
     </TextBlock.ToolTip> 
     </TextBlock> 
    </DataTemplate> 
    </Toolkit:DataGridTemplateColumn.CellTemplate> 
</Toolkit:DataGridTemplateColumn> 

任何人都有想法嗎?

回答

1

您可以將Status_W52從int推廣到更復雜的類型嗎?

public Status_W52 
{ 
    int NumericValue {get;set;} 
    string Name {get;set;} 
} 

你的轉換器將Status_W52的完整實例,通過「NumericValue」解析,回報您的INT的排序,也可以更新通過裁判的「名稱」屬性,可以在其上再整理。 。