UWPでIsItemsHost="True"を使う

WPFで書かれている完全カスタムカレンダーを作るやつをUWPにしたかった。

<ListBox.Template>  
        <ControlTemplate TargetType="{x:Type ListBox}">  
            <StackPanel>  
                <UniformGrid Columns="7" IsItemsHost="True">  
                </UniformGrid>  
            </StackPanel>  
        </ControlTemplate>  
</ListBox.Template>  
これの IsItemsHostプロパティがsetできない。

解決方法はこれ(アイテムコントロールのテンプレート)。
  1. ItemsPresenterを使う
  2. ItemsPanel プロパティ(ItemsPanelTemplate 型)を設定する
<ListBox.ItemsPanel>
  <ItemsPanelTemplate>
    <StackPanel Orientation="Horizontal"/>
  </ItemsPanelTemplate>
</ListBox.ItemsPanel>

これでListBoxの項目の並び方とかをカスタムできるようになる。

フルソース。


WPFのドキュメントはたくさんあるのに、UWPのドキュメント/ブログが少なすぎて辛い。。

コメント

このブログの人気の投稿

初めてのC# -メモ帳でも作ってみる?-

【ファイル偽装】zipとしてもjpgとしても扱えるファイル

Javaにおいて引数付でスレッドを走らせる