<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
的宽度。
如何设置属性以实现此目的?
答案 0 :(得分:0)
尝试替换
<ComboBox Width="{Binding ElementName=columnCategory, Path=Width}" />
与
<ComboBox Width="{Binding ElementName=columnCategory, Path=ActualWidth}" />
你的问题应该解决了。
WPF中的Width表示,ActualWidth是元素渲染后的实际宽度。
编辑:要避免combobox
上的裁剪,您需要添加转换器(请参阅this answer)以删除一些像素的宽度。如果您需要有关如何操作的更多帮助,可以使用sample project I made来证明这一点。