Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf ListBoxItem高度未得到更新_Wpf_Listbox_Height_Listboxitem_Invalidation - Fatal编程技术网

Wpf ListBoxItem高度未得到更新

Wpf ListBoxItem高度未得到更新,wpf,listbox,height,listboxitem,invalidation,Wpf,Listbox,Height,Listboxitem,Invalidation,我在另一个列表框中有一个列表框,在内部列表框中,列表框项目的高度可能会增大或减小。我的问题是,当内部项收缩时,外部列表框不会重新渲染其高度。因此-在内部列表收缩之前保持先前的高度 我在这里尝试了很多东西,在所有类型的无效中,列表框项目的选择和取消选择应该更新,等等-没有任何帮助 有人能帮我吗 Thanx, Gili为了见鬼,我做了以下几件事: <Grid x:Name="LayoutRoot"> <ListBox HorizontalAlignment="Lef

我在另一个列表框中有一个列表框,在内部列表框中,列表框项目的高度可能会增大或减小。我的问题是,当内部项收缩时,外部列表框不会重新渲染其高度。因此-在内部列表收缩之前保持先前的高度

我在这里尝试了很多东西,在所有类型的无效中,列表框项目的选择和取消选择应该更新,等等-没有任何帮助

有人能帮我吗

Thanx,
Gili

为了见鬼,我做了以下几件事:

    <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>

现在我意识到列表框中的项目不是在运行时创建的,但是我用click handler创建了一个小按钮,它将项目添加到中间的一个列表框中,并且所有内容都会相应地调整大小

如果您发布代码,我们可以查看一下有什么问题。

举个例子:

    <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中单击“Enter”/“Return”时,外部listbox项会拉伸以匹配新的大小-但是当我删除新添加的行时,它不会重新调整到其原始大小

Thanx,
Gili

你能发布一些代码吗?内部列表框的高度是否设置为自动?我假设您希望内部列表框项目增长/收缩,改变其高度,从而反过来也改变外部框的高度。Gili-我建议您将更新的问题材料作为编辑放回原始问题中。堆栈溢出的答案将用于提供原始问题的答案,仅此而已。