0

私は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に、ListBoxItemまたはにExpander使用可能なすべての水平方向のスペースを埋めるように指示する方法はありますか?

(幅が狭くなると、コンテンツ全体を表示するために、それに応じて高さが大きくなるはずです)

4

1 に答える 1

3

わかりました、解決策を見つけました、追加するだけです

ScrollViewer.HorizontalScrollBarVisibility="Disabled"

リストボックスに。

于 2012-09-03T13:28:59.587 に答える