Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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# Wpf嵌套容器_C#_.net_Wpf_Silverlight_Wpf Controls - Fatal编程技术网

C# Wpf嵌套容器

C# Wpf嵌套容器,c#,.net,wpf,silverlight,wpf-controls,C#,.net,Wpf,Silverlight,Wpf Controls,在窗口控件上,我的主容器是网格 我的网格有两行,一行定义为50*,另一行定义为250* 现在我想添加一个右侧边栏,比如说一个StackPanel。 我希望在StackPanel中有一个与50*网格行对齐的列表框,这样随着窗口高度的增加,列表框的大小也会增加。 我的问题是,当ListBox位于StackPanel(嵌套在网格内)内时,我是否可以实现此行为,或者ListBox是否必须直接放置在网格内?StackPanel不会垂直拉伸 如果必须使用包装父容器,请使用网格,该网格将向所有方向展开(当然,

在窗口控件上,我的主容器是网格
我的网格有两行,一行定义为50*,另一行定义为250*
现在我想添加一个右侧边栏,比如说一个StackPanel。
我希望在StackPanel中有一个与50*网格行对齐的列表框,这样随着窗口高度的增加,列表框的大小也会增加。

我的问题是,当ListBox位于StackPanel(嵌套在网格内)内时,我是否可以实现此行为,或者ListBox是否必须直接放置在网格内?

StackPanel
不会垂直拉伸

如果必须使用包装父容器,请使用网格,该网格将向所有方向展开(当然,如果不使用水平和垂直对齐;)

还可以查看MSDN上的


StackPanel
不垂直拉伸

如果必须使用包装父容器,请使用网格,该网格将向所有方向展开(当然,如果不使用水平和垂直对齐;)

还可以查看MSDN上的


为什么是StackPanel(而不是DockPanel)?为什么是StackPanel(而不是DockPanel)?您是否建议在网格中使用网格作为侧栏?当然,您可以无端嵌套这些网格。您是否建议在网格中使用网格作为侧栏?当然,您可以无端嵌套这些网格。
Panel Name       x-Dimension             y-Dimension


- Canvas         Constrained to content     Constrained to content
- DockPanel      Constrained             Constrained
- StackPanel     Constrained             Constrained to content
  (Vertical Orientation)    
- StackPanel     Constrained to content  Constrained 
  (Horizontal Orientation)  
- Grid        Constrained             Constrained, except in cases where Auto apply to rows and columns
- WrapPanel      Constrained to content  Constrained to content