我有一个带有复选框和组合框的堆栈面板:
<StackPanel Name="PointSizeFilter"
Style="{StaticResource StackPanelCell}">
<CheckBox ... />
<ComboBox ... />
</StackPanel>
还有一个数据网格。当stackpanel的宽度发生变化时,我也希望调整datagrid列的大小。
<DataGrid Style="{StaticResource DataGridEditable}"
ItemsSource="{Binding ElementName=IModel, Path=ControlPoints.Collection}"
Name="DataGridCheckpoints">
<DataGrid.Columns>
...
<DataGridComboBoxColumn Header="{x:Static constants:Labels.ControlPointsObjectSize}"
Width="{Binding ElementName=PointSizeFilter, Path=ActualWidth}"
ItemsSource="{Binding Source={x:Static controlpoints:CpViewModel.PointSizeItems}}"
DisplayMemberPath="Name"
SelectedValuePath="Id"
SelectedValueBinding="{Binding PointSizeId, UpdateSourceTrigger=PropertyChanged}"/>
</DataGrid.Columns>
</DataGrid>
但它不起作用。我究竟做错了什么?谢谢!
答案 0 :(得分:0)
一个可能的原因是DataGridColumn上的Width属性不是ActualWidth的double,而是DataGridLength类型。尝试在两者之间放置一个转换器。