DataGridTextColumn内的组合框没有占用它的父宽度
本文关键字:组合 DataGridTextColumn | 更新日期: 2023-09-27 17:49:34
<DataGrid AutoGenerateColumns="False" Name="m_gridControl">
<DataGrid.Columns>
<DataGridTextColumn x:Name="columnCategory" Width="10*">
<DataGridTextColumn.Header>
<ComboBox Width="{Binding ElementName=columnCategory, Path=Width}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
在这段代码中,我的Combobox
没有完全占据我的DataGridTextColumn
的宽度。我如何设置属性来实现这一点?
尝试替换
<ComboBox Width="{Binding ElementName=columnCategory, Path=Width}" />
<ComboBox Width="{Binding ElementName=columnCategory, Path=ActualWidth}" />
你的问题应该得到解决。
Width在WPF中是一个指示,而ActualWidth是元素被渲染后的实际宽度。
编辑:为了避免combobox
上的裁剪,你需要添加一个转换器(见这个答案)来删除一些像素到它的宽度。如果你需要更多关于如何做到这一点的帮助,这里是一个示例项目,我做了演示。