代码之家  ›  专栏  ›  技术社区  ›  be_mi

GridView中的WPF FrameworkElement-更新列宽

  •  0
  • be_mi  · 技术社区  · 6 年前

    我有一个网格视图。在一列中,DataTemplate中有一个CustomControl(派生自FrameworkElement)。

    根据一些交互,CustomControl将更改其宽度。如何实现GridViewColumn将其宽度动态更改为最宽CustomControl的宽度?

    1 回复  |  直到 6 年前
        1
  •  1
  •   mm8    6 年前

    处理 SizeChanged 控件的事件,并设置 Width GridViewColumn :

    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>
    

    控件和框架都不能为您做到这一点。您需要编写一些代码来实现这一点。