GridView 中的 WPF FrameworkElement - 更新列宽

WPF FrameworkElement in GridView - update column width

我有一个 GridView。在一列中,CustomControl(派生自 FrameworkElement)位于 DataTemplate 中。

根据某些交互,CustomControl 将更改其宽度。我怎样才能实现 GridViewColumn 将其宽度动态更改为最宽的 CustomControl 的宽度?

处理控件的SizeChanged事件并设置GridViewColumnWidth:

private void TextBox_SizeChanged(object sender, SizeChangedEventArgs e)
{
    FrameworkElement ctrl = sender as FrameworkElement;
    theColumn.Width = ctrl.ActualWidth + 20;
}

XAML:

<GridViewColumn x:Name="theColumn">
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <local:TheResizingControl />
        </DataTemplate>
    </GridViewColumn.CellTemplate>
</GridViewColumn>

控件和框架都不会为您做这件事。您需要编写一些代码来执行此操作。