0

別のリスト ボックス内にリスト ボックスがあり、内側のリスト ボックス listboxitems の高さが拡大または縮小する場合があります。私の問題は、内側のアイテムが縮小すると、外側のリスト ボックスがその高さを再レンダリングしないことです。したがって、内部リストが縮小される前の高さのままです。

ここで、すべてのタイプの無効化、更新する必要があるリストボックス項目の選択と選択解除など、非常に多くのことを試しましたが、何も役に立ちません....

誰でもこれで私を助けてくれますか?

ありがとう、ギリ

4

2 に答える 2

0

念のため、次のことを行いました。

    <Grid x:Name="LayoutRoot">
    <ListBox HorizontalAlignment="Left" Width="283" VerticalAlignment="Top">
        <ListBox Margin="0,0,-274,0">
            <ListBoxItem Content="Text"/>
            <ListBoxItem Content="Text"/>
            <ListBoxItem Content="Text"/>
            <ListBoxItem Content="Text"/>
            <ListBoxItem Content="Text"/>
            <ListBoxItem Content="Text"/>
        </ListBox>
        <ListBox Margin="0,0,-274,0">
            <ListBoxItem Content="Text"/>
            <ListBoxItem Content="Text"/>
            <ListBoxItem Content="Text"/>
            <ListBoxItem Content="Text"/>
            <ListBoxItem Content="Text"/>
            <ListBoxItem Content="Text"/>
        </ListBox>
        <ListBox Margin="0,0,-274,0">
            <ListBoxItem Content="Text"/>
            <ListBoxItem Content="Text"/>
            <ListBoxItem Content="Text"/>
        </ListBox>
        <ListBox Margin="0,0,-274,0">
            <ListBoxItem Content="Text"/>
            <ListBoxItem Content="Text"/>
            <ListBoxItem Content="Text"/>
            <ListBoxItem Content="Text"/>
            <ListBoxItem Content="Text"/>
            <ListBoxItem Content="Text"/>
        </ListBox>
    </ListBox>
</Grid>

リスト ボックスの項目は実行時に作成されないことに気付きましたが、クリック ハンドラーを使用して小さなボタンを作成し、項目を中央のリスト ボックスの 1 つに追加すると、すべてが適切にサイズ変更されます。

コードを投稿していただければ、何が問題なのかを確認できます。

于 2010-05-02T03:21:07.383 に答える
0

たとえば、次のようにします。

    <ListBox VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="500">
        <ListBox x:Name="Item1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="300" BorderBrush="Red" BorderThickness="5">
            <ListBox.Items>
                <RichTextBox VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="300" SizeChanged="OnInnserItemSizeChanged"/>
                <RichTextBox VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="300"/>
                <RichTextBox VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="300"/>
            </ListBox.Items>
        </ListBox>
        <ListBox x:Name="Item2" BorderBrush="Green" BorderThickness="5" Width="300" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
            <ListBox.Items>
                <RichTextBox VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="300"/>
                <RichTextBox VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="300"/>
                <RichTextBox VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="300"/>
            </ListBox.Items>
        </ListBox>            
    </ListBox>

今、それを実行してRichTextBoxの1つで「Enter」/「Return」をクリックすると、外側のリストボックス項目が新しいサイズに合わせて伸びますが、新しく追加された行を削除しても元のサイズに戻りませんサイズ...

ありがとう、ギリ

于 2010-09-04T18:53:01.973 に答える