Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.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_Listbox_Datatemplate_Listboxitem - Fatal编程技术网

C# 是否在组成列表框项的两个控件之间平均分割宽度?

C# 是否在组成列表框项的两个控件之间平均分割宽度?,c#,wpf,listbox,datatemplate,listboxitem,C#,Wpf,Listbox,Datatemplate,Listboxitem,我正在尝试设置一个列表框,以便每个项目都有一个文本块和一个组合框,在列表框的宽度上均匀分割,但我似乎找不到ColumnDefinition属性的神奇组合来实现这一点。这是我的listbox项的数据模板。不管怎样,我已经把它清理干净了,因为它是错的 <DataTemplate x:Key="MyDataTemplate"> <Grid> <Grid.ColumnDefinitions>

我正在尝试设置一个列表框,以便每个项目都有一个文本块和一个组合框,在列表框的宽度上均匀分割,但我似乎找不到ColumnDefinition属性的神奇组合来实现这一点。这是我的listbox项的数据模板。不管怎样,我已经把它清理干净了,因为它是错的

        <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>

我在一个窗口上测试了一个简单的应用程序。只需指定两个ColumnDefinition,它们就会自动占据一半的宽度,这很好,但在listboxitem datatemplate中执行相同操作时,行为会有所不同

如何更改数据模板以使其正常工作


谢谢

列表框的默认
HorizontalContentAlignment
。您需要将其设置为“拉伸”,以便ListBoxItems占据整个宽度

以下是有关ListBox/ListBoxItem样式和模板的更多信息: