C# · 4月 3, 2022

c# – 在构成列表框项目的两个控件之间平均分割宽度?

我正在尝试设置一个List@R_504_2419@,以便每个项目都有一个文本块和一个组合框,在列表框的宽度上均匀分割,但我似乎无法找到ColumnDeFinition属性的神奇组合来完成它.这是我的列表框项的DataTemplate.无论如何,我已经把它清理干净了.

<DataTemplate x:Key=”MyDataTemplate”> <Grid> <Grid.ColumnDeFinitions> <ColumnDeFinition/> <ColumnDeFinition/> </Grid.ColumnDeFinitions> <TextBlock Grid.Column=”0″ Text=”{Binding XPath=text()}”/> <Combo@R_504_2419@ Grid.Column=”1″ SelectedIndex=”0″ ItemsSource=”{Binding Source={StaticResource Names},XPath=Name}”></Combo@R_504_2419@> </Grid> </DataTemplate>

我已经在窗口上测试了一个带网格的简单应用程序.简单地指定两个ColumnDeFinitions会使它们自动占据宽度的一半,这很好,但是当在list@R_504_2419@item datatemplate中执行相同操作时,行为是不同的.

我如何更改datatemplate以使其工作?

谢谢!

解决方法 List@R_504_2419@的默认Horizo​​ntalContentAlignment是Left.您需要将其设置为Stretch,以使List@R_504_2419@Items占据整个宽度.

以下是List@R_504_2419@ / List@R_504_2419@Item样式和模板的更多信息:http://msdn.microsoft.com/en-us/library/cc278062(VS.95).aspx