1
我有一組數據項,應該在一行中的頁面上表示。ItemsControl中的拉伸按鈕
<ItemsControl ItemsSource="{x:Bind ViewModel.PresetsSecondLine, Mode=OneWay}"
Visibility="{x:Bind ViewModel.IsExpanded, Converter={StaticResource BooleanToVisibilityConverter}, Mode=OneWay}"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
Margin="0 5">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid Orientation="Horizontal"
HorizontalChildrenAlignment="Stretch"
MaximumRowsOrColumns="4" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate x:DataType="entities:Preset">
<controls:PresetButtonControl Preset="{x:Bind}"
VerticalAlignment="Stretch"
Width="290"
Margin="5"
Style="{StaticResource DashboardButtonStyle}"
HorizontalAlignment="Stretch" />
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemContainerStyle>
<Style TargetType="ContentPresenter">
<Setter Property="HorizontalAlignment" Value="Stretch"/>
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
該集合可能包含從零到四個項目顯示在一行中。如果有4個項目,它們應該填滿整行。當有少於4項就應該按比例顯示:
,我發現這樣的問題的解決與UniformGrid
,可惜UniformGrid
不是不再UWP支持。
您可以使用與此相同的概念顯示在此處(http://stackoverflow.com/questions/22871767/how-can-i-achieve-this-mix-of-stackpanel-and-uniformgrid-behavior)項目容器,這是提供我正確理解您的預期結果。 –