ListBox不显示完整的项目

时间:2013-01-07 16:19:04

标签: xaml listview listbox

我在ListBox中有扩展器。如果我现在将ListView放入最后一个Expander,ListView的大小恰好可以显示所有项目。到目前为止,这就是我想要的。 但现在无法将ListBox向下滚动到ListView的末尾。

我必须做什么才能让用户将ListBox向下滚动到最后一项的末尾,这是ListView的结尾?

这是我的简化代码:

<Window x:Class="ExpanderTest.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <ListBox HorizontalContentAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Disabled">

        <Expander Header="text">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="100"/>
                </Grid.ColumnDefinitions>
                <Label Grid.Column="0">some text</Label>
                <Label Grid.Column="1">some text</Label>
            </Grid>
        </Expander>

        <Expander Header="Buttons">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                </Grid.RowDefinitions>
                <Button Grid.Row="0">Button1</Button>
                <StackPanel Grid.Row="1" Orientation="Horizontal">
                    <Button>Button2</Button>
                    <Button>Button3</Button>
                    <Button>Button4</Button>
                    <Button>Button5</Button>
                </StackPanel>
            </Grid>
        </Expander>

        <Expander Header="Much Information" IsExpanded="True">
            <ListView>
                <ListView.View>
                    <GridView>
                        <GridView.Columns>
                            <GridViewColumn Header="Variable" Width="160" />
                        </GridView.Columns>
                    </GridView>
                </ListView.View>
                <ListViewItem>Line 0</ListViewItem>
                <ListViewItem>Line 1</ListViewItem>
                <ListViewItem>Line 2</ListViewItem>
                <ListViewItem>Line 3</ListViewItem>
                <ListViewItem>Line 4</ListViewItem>
                <ListViewItem>Line 5</ListViewItem>
                <ListViewItem>Line 6</ListViewItem>
                <ListViewItem>Line 7</ListViewItem>
                <ListViewItem>Line 8</ListViewItem>
                <ListViewItem>Line 9</ListViewItem>
                <ListViewItem>Line 10</ListViewItem>
                <ListViewItem>Line 11</ListViewItem>
                <ListViewItem>Line 12</ListViewItem>
                <ListViewItem>Line 13</ListViewItem>
                <ListViewItem>Line 14</ListViewItem>
                <ListViewItem>Line 15</ListViewItem>
                <ListViewItem>Line 16</ListViewItem>
                <ListViewItem>Line 17</ListViewItem>
                <ListViewItem>Line 18</ListViewItem>
                <ListViewItem>Line 19</ListViewItem>
                <ListViewItem>Line 20</ListViewItem>
                <ListViewItem>Line 21</ListViewItem>
                <ListViewItem>Line 22</ListViewItem>
                <ListViewItem>Line 23</ListViewItem>
                <ListViewItem>Line 24</ListViewItem>
                <ListViewItem>Line 25</ListViewItem>
                <ListViewItem>Line 26</ListViewItem>
                <ListViewItem>Line 27</ListViewItem>
                <ListViewItem>Line 28</ListViewItem>
                <ListViewItem>Line 29</ListViewItem>
                <ListViewItem>Line 30</ListViewItem>
                <ListViewItem>Line 31</ListViewItem>
                <ListViewItem>Line 32</ListViewItem>
                <ListViewItem>Line 33</ListViewItem>
                <ListViewItem>Line 34</ListViewItem>
                <ListViewItem>Line 35</ListViewItem>
                <ListViewItem>Line 36</ListViewItem>
                <ListViewItem>Line 37</ListViewItem>
                <ListViewItem>Line 38</ListViewItem>
                <ListViewItem>Line 39</ListViewItem>
            </ListView>
        </Expander>
    </ListBox>
</Grid>

1 个答案:

答案 0 :(得分:1)

一种解决方案是将扩展器放入ScrollViewer中的StackPanel而不是使用ListBox。

如果您需要保留外部ListBox,可以在其上禁用ScrollViewer,并将该ListBox包装在ScrollViewer中。

<Grid>
    <ScrollViewer>
        <StackPanel>

            <Expander Header="text">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="100"/>
                    </Grid.ColumnDefinitions>
                    <Label Grid.Column="0">some text</Label>
                    <Label Grid.Column="1">some text</Label>
                </Grid>
            </Expander>

            <Expander Header="Buttons">
                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition />
                        <RowDefinition />
                    </Grid.RowDefinitions>
                    <Button Grid.Row="0">Button1</Button>
                    <StackPanel Grid.Row="1" Orientation="Horizontal">
                        <Button>Button2</Button>
                        <Button>Button3</Button>
                        <Button>Button4</Button>
                        <Button>Button5</Button>
                    </StackPanel>
                </Grid>
            </Expander>

            <Expander Header="Much Information" IsExpanded="True">
                <ListView>
                    <ListView.View>
                        <GridView>
                            <GridView.Columns>
                                <GridViewColumn Header="Variable" Width="160" />
                            </GridView.Columns>
                        </GridView>
                    </ListView.View>
                    <ListViewItem>Line 0</ListViewItem>
                    <ListViewItem>Line 1</ListViewItem>
                    <ListViewItem>Line 2</ListViewItem>
                    <ListViewItem>Line 3</ListViewItem>
                    <ListViewItem>Line 4</ListViewItem>
                    <ListViewItem>Line 5</ListViewItem>
                    <ListViewItem>Line 6</ListViewItem>
                    <ListViewItem>Line 7</ListViewItem>
                    <ListViewItem>Line 8</ListViewItem>
                    <ListViewItem>Line 9</ListViewItem>
                    <ListViewItem>Line 10</ListViewItem>
                    <ListViewItem>Line 11</ListViewItem>
                    <ListViewItem>Line 12</ListViewItem>
                    <ListViewItem>Line 13</ListViewItem>
                    <ListViewItem>Line 14</ListViewItem>
                    <ListViewItem>Line 15</ListViewItem>
                    <ListViewItem>Line 16</ListViewItem>
                    <ListViewItem>Line 17</ListViewItem>
                    <ListViewItem>Line 18</ListViewItem>
                    <ListViewItem>Line 19</ListViewItem>
                    <ListViewItem>Line 20</ListViewItem>
                    <ListViewItem>Line 21</ListViewItem>
                    <ListViewItem>Line 22</ListViewItem>
                    <ListViewItem>Line 23</ListViewItem>
                    <ListViewItem>Line 24</ListViewItem>
                    <ListViewItem>Line 25</ListViewItem>
                    <ListViewItem>Line 26</ListViewItem>
                    <ListViewItem>Line 27</ListViewItem>
                    <ListViewItem>Line 28</ListViewItem>
                    <ListViewItem>Line 29</ListViewItem>
                    <ListViewItem>Line 30</ListViewItem>
                    <ListViewItem>Line 31</ListViewItem>
                    <ListViewItem>Line 32</ListViewItem>
                    <ListViewItem>Line 33</ListViewItem>
                    <ListViewItem>Line 34</ListViewItem>
                    <ListViewItem>Line 35</ListViewItem>
                    <ListViewItem>Line 36</ListViewItem>
                    <ListViewItem>Line 37</ListViewItem>
                    <ListViewItem>Line 38</ListViewItem>
                    <ListViewItem>Line 39</ListViewItem>
                </ListView>
            </Expander>
        </StackPanel>
    </ScrollViewer>
</Grid>
相关问题