WPF中ListBox的Item使用了StackPanel,StackPanel的长度怎么才能设置为自动的

<ListBoxName="ListBox1"Background="LightCoral"><ListBox.ItemTemplate><DataTemplate><S... <ListBox Name="ListBox1" Background="LightCoral" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch" >-->
<TextBlock Grid.Column="0" Margin="5,10" Text="{Binding Name}" Width="30"/>
<TextBox Margin="0,5" Height="24" Text="{Binding Text}"/>
<ComboBox Margin="0,5" Height="24" ItemsSource="{Binding Combo}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

Listbox的宽度是可以改变的,但是每个Item里的StackPanel宽度却不能随之改变
如何解决,或者是改用其它的布局控件?
展开
 我来答
Mickal小米
2011-12-26 · TA获得超过3666个赞
知道大有可为答主
回答量:1542
采纳率:100%
帮助的人:1751万
展开全部
首先,控件的宽度要随外部容器宽度改变而改变的话,只能用grid做容器,并且宽度为*才能达到自适应的效果。
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Margin="5,10" Text="{Binding Name}" Width="30"/>
<TextBox Grid.Column="1" Margin="0,5" Height="24" Text="{Binding Text}"/>
<ComboBox Grid.Column="2" Margin="0,5" Height="24" ItemsSource="{Binding Combo}"/>
</Grid>
</DataTemplate>
改成这样就可以了!~
更多追问追答
追问
改成Grid了,还是不行
Grid的大小没有跟着改变
追答
不可能啊,请你检查一下 1.grid宽度有没有设定宽度 2.listbox有没有设定宽度 3.listboxitem有没有设定宽度 这三个都不要设定宽度的喔!
19...1@qq.com
2011-12-26 · 超过15用户采纳过TA的回答
知道答主
回答量:211
采纳率:0%
帮助的人:97.2万
展开全部
</StackPanel> </DataTemplate> </怎么没见你的Prog x:Class="Wpf
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
253473985
2013-01-15 · TA获得超过128个赞
知道答主
回答量:36
采纳率:0%
帮助的人:14.5万
展开全部
你好,请问你是用什么方法解决的?我也遇到同样的问题!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hurenwang2007
2011-12-26
知道答主
回答量:24
采纳率:0%
帮助的人:9万
展开全部
初学,最近也开始研究了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式