UWP WrapPanel / VariableSizedGrid

时间:2018-08-10 13:19:01

标签: c# uwp expander variablesizedwrapgrid

我目前正在处理一些设计问题。我需要一个WrapPanel,其中包含多个Expander,它应与显示的图像正确匹配。 enter image description here

因此,如果用户打开一个,则应显示一些命令。 (最多3个,最多10个命令。)我认为以5个项目开头的滚动视图最合适)

目前,我没有使其正常工作。如果我切换第一个框,则切换每个框。 如果我切换另一个框,它也会占用整个高度。

First Box ppen

这里是图像(如果第一个框已关闭)。 enter image description here

我想为此需要多个控件。 首先是Expander-Menu,其次是VariableSizedWrapGrid。但是两者都无法正常工作。这是我当前的代码。

<controls:DockPanel Grid.Row="1" Grid.Column="1" Background="#efefef" >
            <GridView x:Name="CommandList" controls:DockPanel.Dock="Top"  Margin="15" SelectionMode="None" VerticalContentAlignment="Top"  >
                <GridView.ItemTemplate>
                <DataTemplate>
                    <controls:WrapPanel Name="VerticalWrapPanel" Margin="2"
                             VerticalSpacing="10" HorizontalSpacing="10" Orientation="Vertical">

                    <controls:Expander  Style="{StaticResource ExpanderStyleCheckBox}" VerticalAlignment="Top" Margin="20,20,0,20" VerticalContentAlignment="Top"                                                
                               IsExpanded="True" Width="500"
                               ExpandDirection="Down" Background="White" Tapped="Expander1_Tapped" VariableSizedWrapGrid.RowSpan="{Binding RowSpan}" >
                        <controls:Expander.Content>
                            <ListView ItemsSource="{Binding Phrases}" Margin="30,0,0,0" Background="#efefef" SelectionMode="None">
                                <DataTemplate>
                                    <TextBlock  TextWrapping="WrapWholeWords" VerticalAlignment="Center" />
                                </DataTemplate>
                                </ListView>
                        </controls:Expander.Content>
                            <controls:Expander.Header>
                            <TextBlock Margin="10"  HorizontalAlignment="Left" FontSize="18" TextWrapping="WrapWholeWords" VerticalAlignment="Center">
                                                <Run Text="{Binding Heading}" />
                                    </TextBlock>
                            </controls:Expander.Header>

                        </controls:Expander>
                    </controls:WrapPanel>
                </DataTemplate>
            </GridView.ItemTemplate>
            <GridView.ItemsPanel>
                <ItemsPanelTemplate>
                        <VariableSizedWrapGrid Margin="20" ItemWidth="530" VerticalAlignment="Top" VerticalChildrenAlignment="Top"
                            Orientation="Horizontal" MaximumRowsOrColumns="5" >
                        </VariableSizedWrapGrid>
                    </ItemsPanelTemplate>
            </GridView.ItemsPanel>
            </GridView>
    </controls:DockPanel>

如果有人可以帮助我,那就太好了。

谢谢,祝您周末愉快。 基督徒

0 个答案:

没有答案