私のアプリのカレンダーコンポーネントを作成しようとしています。現在、私はカレンダービューに取り組んでいます。これは7日分の月を表示するためのもので、毎日はイベントのリストです。UWPで固定数の列を持つグリッドビューを作成する方法はありますか?
これを行うには、GridView
に連絡する必要があります。私は常に、各行に7つの要素を挟むように書式設定しておきたいと考えています。基本となるコレクションには、常に7つの要素の倍数が含まれます。
<local:ExtendedGridView x:Name="gridView" Margin="0"
IsSwipeEnabled="True"
IsItemClickEnabled="True"
SelectionMode="Single"
ItemsSource="{Binding GroupCollection}"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch">
<local:ExtendedGridView.DataContext>
<local:MainViewModel/>
</local:ExtendedGridView.DataContext>
<local:ExtendedGridView.Resources>
<DataTemplate x:Key="DefaultGridItemTemplate">
<Grid Width="100*" Height="60*" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<local:ExtendedListView Margin="0"
IsSwipeEnabled="False"
IsItemClickEnabled="True"
ItemsSource="{Binding Group}">
<local:ExtendedListView.ItemContainerStyle>
<Style
TargetType="ListViewItem">
<Setter
Property="HorizontalAlignment"
Value="Stretch" />
<Setter
Property="VerticalAlignment"
Value="Stretch" />
</Style>
</local:ExtendedListView.ItemContainerStyle>
<local:ExtendedListView.Resources>
<DataTemplate x:Key="DefaultInnerListItemTemplate">
<TextBlock Text="{Binding Data}"
FontSize="12" Foreground="Green"/>
</DataTemplate>
</local:ExtendedListView.Resources>
<local:ExtendedListView.ItemTemplate>
<Binding Source="{StaticResource DefaultInnerListItemTemplate}"/>
</local:ExtendedListView.ItemTemplate>
</local:ExtendedListView>
</Grid>
</DataTemplate>
<ItemsPanelTemplate x:Key="DefaultGridPanelTemplate">
<WrapGrid MaximumRowsOrColumns="7" Orientation="Horizontal" HorizontalChildrenAlignment="Stretch" VerticalChildrenAlignment="Stretch">
</WrapGrid>
</ItemsPanelTemplate>
</local:ExtendedGridView.Resources>
<local:ExtendedGridView.ItemContainerStyle>
<Style
TargetType="GridViewItem">
<Setter
Property="HorizontalAlignment"
Value="Stretch" />
<Setter
Property="VerticalAlignment"
Value="Stretch" />
</Style>
</local:ExtendedGridView.ItemContainerStyle>
<local:ExtendedGridView.ItemTemplate>
<Binding Source="{StaticResource DefaultGridItemTemplate}"/>
</local:ExtendedGridView.ItemTemplate>
<local:ExtendedGridView.ItemsPanel>
<Binding Source="{StaticResource DefaultGridPanelTemplate}"/>
</local:ExtendedGridView.ItemsPanel>
</local:ExtendedGridView>
それが現在どのように見えるか:
を私は現在、(ExtendedGridView
/ExtendedListView
GridView
/ListView
同じ基本的であり、任意の視覚的な変換を行いません)持って何
XAMLを使うのはかなり新しいですから、まったく別のルートをとるべきでしょう。どんな助けやアドバイスも感謝しています。
DefaultGridItemTemplateのグリッドの高さを下げてみましたか? –
@KenTucker確かに、同じ幅になります。ハードコードされたwidthプロパティのためにのみ、スクリーンショットに7列あります。ギャップはそれに反応しない。 –
このスレッドを見るhttp://stackoverflow.com/questions/38240134/reduce-the-bottom-and-top-space-in-listview-in-xamluwp-universal-windows-platfo –