Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.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
C# 将控件包裹在堆栈面板中_C#_Wpf - Fatal编程技术网

C# 将控件包裹在堆栈面板中

C# 将控件包裹在堆栈面板中,c#,wpf,C#,Wpf,我将几个控件作为子控件动态添加到虚拟化堆栈面板控件中。如果控件不适合一行,我想将控件包装到下一行。我该怎么做 如果我使用Wrappanel,那么虚拟化就不会发生 因此,简而言之,我需要使用StackPanel的相同包装面板功能,您可以这样使用 它是否回答了您的问题。@TonyStark这不会有帮助,因为控件的数量不是固定的。他们应该调整窗口大小。你找错人了。让StackPanel包裹意味着它必须同时理解水平和垂直堆叠。事实并非如此,我怀疑是否有任何切实可行的方法来改变这一点。你真正想要的是一个虚

我将几个控件作为子控件动态添加到虚拟化堆栈面板控件中。如果控件不适合一行,我想将控件包装到下一行。我该怎么做

如果我使用Wrappanel,那么虚拟化就不会发生

因此,简而言之,我需要使用StackPanel的相同包装面板功能,您可以这样使用


它是否回答了您的问题。@TonyStark这不会有帮助,因为控件的数量不是固定的。他们应该调整窗口大小。你找错人了。让StackPanel包裹意味着它必须同时理解水平和垂直堆叠。事实并非如此,我怀疑是否有任何切实可行的方法来改变这一点。你真正想要的是一个虚拟包装。请参阅副本。也就是说,我认为,如果您有太多的元素需要虚拟化,那么WrapPanel可能是向用户首先呈现的错误视图。我不想使用WrapPanel,因为它不支持虚拟化。@user3722329:StackPanel类也不支持虚拟化。您必须使用VirtualzingStackPanel来完成此任务。@PeterDuniho我只使用VirtualzingStackPanel。它也没有包装用户控件。@user3722329:您的帖子说我需要使用StackPanel使用相同的包装面板功能。
<WrapPanel Orientation="Horizontal">
<Button Content="Button" />
<Button Content="Button" />
<Button Content="Button" />
<Button Content="Button" />
<Button Content="Button" />
</WrapPanel>