GridView 中的 WPF FrameworkElement - 更新列宽
WPF FrameworkElement in GridView - update column width
我有一个 GridView。在一列中,CustomControl(派生自 FrameworkElement)位于 DataTemplate 中。
根据某些交互,CustomControl 将更改其宽度。我怎样才能实现 GridViewColumn 将其宽度动态更改为最宽的 CustomControl 的宽度?
处理控件的SizeChanged
事件并设置GridViewColumn
的Width
:
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>
控件和框架都不会为您做这件事。您需要编写一些代码来执行此操作。
我有一个 GridView。在一列中,CustomControl(派生自 FrameworkElement)位于 DataTemplate 中。
根据某些交互,CustomControl 将更改其宽度。我怎样才能实现 GridViewColumn 将其宽度动态更改为最宽的 CustomControl 的宽度?
处理控件的SizeChanged
事件并设置GridViewColumn
的Width
:
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>
控件和框架都不会为您做这件事。您需要编写一些代码来执行此操作。