XamTimelineは、イベントタイトルが重なり合ってしまう場合、重ならないようにイベントタイトルを間引いて表示します。間引かれたイベントのEventSpanは白塗りになります。

参考:
xamTimeline について」の「衝突防止イベント タイトルについて」の項目をご覧ください。

この動作に関わらず、EventSpanを白塗りにせずすべて特定の色で表示させたい場合は、EventSpanのControlTemplateを再テンプレートし、実際に描画しているRectangleのFillで色を指定してください。

デフォルトで使用されているControlTemplateは

C:\Program Files (x86)\Infragistics\<ボリューム番号>\WPF\DefaultStyles\XamTimeline\generic.xaml

にあります。ここから必要な部分のみをアプリケーション側にコピー&ペーストして書き換え、書き換え後のStyleをEventSpanStyleで指定してください。

<!-- コード例(特に関係する部分のみ) -->

<ig:DateTimeSeries x:Name="dateTimeSeries" Title="Date Time Series">
    <ig:DateTimeSeries.EventSpanStyle>

        <!-- "C:\Program Files (x86)\Infragistics\2020.2\WPF\DefaultStyles\XamTimeline\generic.xaml"からコピー(ここから) -->
        <!--EventSpan-->
        <Style TargetType="ig:EventSpan">
            <!-- 省略 -->        
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="ig:EventSpan">
                        <Grid Margin="0,2,0,2">
                            <!--
                            実際に描画している内部のRectangleのFillを直接変更する。
                            デフォルトはFill="{TemplateBinding Fill}"
                            -->
                            <Rectangle RadiusX="5"
                   RadiusY="5"
                   Fill="Red"
                   Stroke="{TemplateBinding Stroke}" 
                   StrokeThickness="1" 
                   Height="10" 
                   VerticalAlignment="Top" />
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
        <!-- "C:\Program Files (x86)\Infragistics\2020.2\WPF\DefaultStyles\XamTimeline\generic.xaml"からコピー(ここまで) -->

    </ig:DateTimeSeries.EventSpanStyle>
</ig:DateTimeSeries>

 

実行結果

まずはデフォルトの動作を見てみましょう。

ControleTemplateを上に出てきたコードスニペットの通り書き換えてみると…

 

注意点

ControlTemplateを書き換えることに関して、2点、ご注意いただくとともに、ご理解いただきたい点があります。

  1. ControlTemplateを書き換えて高度にカスタマイズした場合は、動作保証や技術サポートの提供ができかねる場合もあります。
  2. 「デフォルトで使用されているControlTemplate」は、ビルド固有です。サービスリリースを適用したりボリュームをアップデートしたりした場合、そのままでは期待通りに動作しなくなる場合があります。入念に動作テストを実施し、もし期待通りに動作しなくなった場合は、改めてデフォルトで使用されているControlTemplateをコピー&ペーストしてきて再コーディングするようお願いいたします。

 

サンプル

 

Tagged:

製品について

Ultimate UI for WPF