2

私は最近、WPF ツールキット (および拡張ツールキット) のデータグリッドを使用する WPF アプリケーションに取り組んでいます。

一部のユーザーの一部の値にツールチップを表示するため、datagridtemplatecolumn を使用しています。他の列は datagridtextcolumns です。

ステータスに sortmemberpath を追加することでステータスを並べ替えることができますが、ステータスは数値 (1,2,3,4,5..) であり、それらの数値を別の列の名前に変換します。この sortmemberpath で並べ替えると、最初に 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>

誰にもアイデアがありますか?

4

1 に答える 1

1

Status_W52 を int からより複雑な型に昇格できますか?

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

Converter は Status_W52 の完全なインスタンスを取得し、「NumericValue」を解析し、並べ替えのために int を返しますが、渡された参照の「Name」プロパティを更新することもできます。後で並べ替えることができます..

于 2012-04-05T15:37:17.150 に答える