ガントチャート作成日記

TreeListViewにずっと交互色を付けたいと思っていた。調べたところAlternationCountプロパティを設定すればいいらしい・・・。

<dll呼び出し側>
<tree:TreeListView Name="treeView" AllowsColumnReorder="True" ItemsSource="{Binding GanttGridViewModel.Tasks}"
                               ScrollViewer.HorizontalScrollBarVisibility="Visible"  Background="White" ScrollViewer.VerticalScrollBarVisibility="Visible"
                               VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Recycling" AlternationCount="2">


<dllのGeneric.xamlを抜粋>
        <!-- コントロールテンプレートのトリガーを定義 -->
        <ControlTemplate.Triggers>
            <!-- 交互色を指定 -->
            <!-- AlternationCountで交互色のパターンを指定。色についてはTreeListViewのGeneric.xamlのItemsControl.AlternationIndexで指定 -->
            <!-- 奇数行 -->
            <Trigger Property="ItemsControl.AlternationIndex" Value="0">
                <Setter TargetName="Border" Property="Background" Value="Transparent"/>
            </Trigger>
            <!-- 偶数行-->
            <Trigger Property="ItemsControl.AlternationIndex" Value="1">
                <Setter TargetName="Border" Property="Background" Value="#FFF0F0F0" />
            </Trigger>
         
        </ControlTemplate.Triggers>

    </ControlTemplate>


できた!!!

と思いきや、広げると・・・・


(゜-゜)・・・・。
やはりNo列で判定して書いたほうが確実かなぁ・・・。
ValueConverterを実装するほうが簡単かもしれないので次はそっちでやってみる。

ゴールは遠い・・・。


0 件のコメント:

コメントを投稿

PowerShellでEdgeを自動化(インストール不要。参考:郵便追跡サービス自動操作)

1.経緯について  RPAのソフトをインストールできないので、これまでVBSでCreateObjectでブラウザの自動操作をすることがたまにあった。 ※いざというときの手札として持っているだけで安心感が段違い  見た目上IEがインストールされていなくても、CreateObject...