Viewbox 中的列表框 ListboxVerticalScrollbar 不起作用

问题描述

我在视图框中有一个列表框。

<ViewBox>
...
<ListBox
                x:Name="ListBoxEmp"
                Width="620"
                Margin="20,0"
                Padding="0,0"
                DockPanel.Dock="Left"
                ItemsSource="{Binding Emp}"
                ScrollViewer.VerticalScrollBarVisibility="Visible"
                SelectedItem="{Binding SelectedEmp,Mode=TwoWay}">
                <ListBox.ItemContainerStyle>
                    <Style targettype="ListBoxItem">
                        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                    </Style>
                </ListBox.ItemContainerStyle>
                <ListBox.ItemTemplate>
                    <DataTemplate DataType="viewmodels:Empviewmodel">
                        <DockPanel>
                            <StackPanel>
                                <TextBlock>
                                    <Run Text="{Binding Lastname}" />
                                    <Run Text="{Binding Firstname}" />
                                </TextBlock>
                                <TextBlock>
                                    <Run Text="{Binding Email}" />
                                </TextBlock>
                                <TextBlock Text="{Binding Tele}" />
                            </StackPanel>
                        </DockPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
...
</ViewBox>

每当我向列表中添加一个新对象时,整个窗口的内容都会变小,因为我猜是因为 ViewBox。有没有办法停止减少并向列表框添加滚动条。

如果窗口的大小发生变化,我需要 ViewBox 按比例调整窗口内容的大小。这就是我使用它的原因。

谢谢

解决方法

试试这个

<ViewBox>
<ContentControl>
    <ListBox.........>
         .............
    </ListBox>
</ContentControl>
</ViewBox>