c# – 在构成列表框项目的两个控件之间平均分割宽度?
发布时间:2020-12-16 01:31:26 所属栏目:百科 来源:网络整理
导读:我正在尝试设置一个ListBox,以便每个项目都有一个文本块和一个组合框,在列表框的宽度上均匀分割,但我似乎无法找到ColumnDefinition属性的神奇组合来完成它.这是我的列表框项的DataTemplate.无论如何,我已经把它清理干净了. DataTemplate x:Key="MyDataTempla
我正在尝试设置一个ListBox,以便每个项目都有一个文本块和一个组合框,在列表框的宽度上均匀分割,但我似乎无法找到ColumnDefinition属性的神奇组合来完成它.这是我的列表框项的DataTemplate.无论如何,我已经把它清理干净了.
<DataTemplate x:Key="MyDataTemplate"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions> <TextBlock Grid.Column="0" Text="{Binding XPath=text()}"/> <ComboBox Grid.Column="1" SelectedIndex="0" ItemsSource="{Binding Source={StaticResource Names},XPath=Name}"></ComboBox> </Grid> </DataTemplate> 我已经在窗口上测试了一个带网格的简单应用程序.简单地指定两个ColumnDefinitions会使它们自动占据宽度的一半,这很好,但是当在listboxitem datatemplate中执行相同操作时,行为是不同的. 我如何更改datatemplate以使其工作? 谢谢! 解决方法
ListBox的默认Horizo??ntalContentAlignment是Left.您需要将其设置为Stretch,以使ListBoxItems占据整个宽度.
以下是ListBox / ListBoxItem样式和模板的更多信息:http://msdn.microsoft.com/en-us/library/cc278062(VS.95).aspx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |