連結グリッドでセルに画像を表示するには、列のCellTemplate プロパティを使用して画像要素を含むデータテンプレートに連結する方法があります。この方法では、数値プロパティにバインドされている数値を自動的に画像に変えるValueConverterを使用します。
たとえば、次の例をご覧ください。
マークアップ |
コードのコピー
|
---|---|
<c1:C1FlexGrid Name="_flex" AutoGenerateColumns="False" > <c1:C1FlexGrid.Columns> <c1:Column Header="Alert" Binding="{Binding Alert}" Width="*" /> <c1:Column Header="Image" Width="*" > <c1:Column.CellTemplate> <DataTemplate> <Image Margin="4" Source="{Binding Path=Alert, Converter={StaticResource AlertImageConverter}}"/> </DataTemplate> </c1:Column.CellTemplate> </c1:Column> <c1:Column Header="Message" Binding="{Binding Message}" Width="2*" /> </c1:C1FlexGrid.Columns> </c1:C1FlexGrid> |
バインディングのコンバータープロパティは「AlertImageConverter」という静的リソースに設定されています。このパブリッククラスをメインアプリケーションに定義して、アプリケーションリソースに次のように追加されます。
<Window.Resources>最終的に、AlertImageConverter クラスを次のように実装します。