设置扩展器的宽度以填充可用空间

时间:2012-09-03 12:59:18

标签: wpf xaml

我有Listbox个扩展器项目,希望它们填满整个水平空间。

这是一个小例子

<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>
        <ListBoxItem>
            <Expander Background="Tan" 
                      HorizontalAlignment="Left" Header="My Expander" 
                      ExpandDirection="Down" IsExpanded="True">
                <TextBlock TextWrapping="Wrap">
                    Lorem ipsum dolor sit amet, consectetur
                    adipisicing elit, sed do eiusmod tempor incididunt ut
                    labore et dolore magna aliqua
                </TextBlock>
            </Expander>
        </ListBoxItem>
    </ListBox>
</Grid>

如果我在Width="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListBox}}, Path=ActualWidth}"上设置expander,它的行为几乎与我想要的一样,除了扩展器有点太宽。

xaml中是否有办法告诉ListBoxItemExpander填充所有可用的水平空间?

(如果宽度变小,高度应相应变大以显示整个内容)

1 个答案:

答案 0 :(得分:3)

好的,我找到了解决方案,只需添加

ScrollViewer.HorizontalScrollBarVisibility="Disabled"

到ListBox。