none
DataGrid如何将ColumnHeader修改为TextBox RRS feed

  • 问题

  •    你好!

        我想使用DataGrid实现类似表格的功能,希望能对列名(ColumnHeader)及行名进行再编辑,如何实现?

        试过在XAML中修改Style,然后绑定给DataGrid,,但不知为啥绑定毫无效果,代码如下:

    <DataTemplate x:Key="ColumnCanEdit"> <WrapPanel> <TextBox FontSize="12" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" FontFamily="SimHei" IsEnabled="True" Name="tbx"/> </WrapPanel> </DataTemplate>

    <Style x:Key="Test" TargetType="{x:Type DataGrid}"> <Setter Property="DataGridTextColumn.HeaderTemplate" Value="{StaticResource ColumnCanEdit}"/> <!--<Setter Property="Background" Value="yellow"/>--> </Style>

    <Grid> <DataGrid Style = "{DynamicResource Test}"> </Grid>


    2014年5月19日 8:29

答案

  • 应该将模板应用到具体的某一列上,如下所示:

        <Window.Resources>
            <DataTemplate x:Key="ColumnCanEdit">
                <WrapPanel>
                    <TextBox FontSize="12" HorizontalAlignment="Stretch"  VerticalAlignment="Stretch" FontFamily="SimHei" IsEnabled="True" Name="tbx"/>
                </WrapPanel>
            </DataTemplate>
        </Window.Resources>
    
        <Grid>
            <DataGrid>
                <DataGrid.Columns>
                    <DataGridTextColumn HeaderTemplate="{StaticResource ColumnCanEdit}"/>
                </DataGrid.Columns>
            </DataGrid>
        </Grid>

    2014年5月19日 8:53

全部回复

  • 应该将模板应用到具体的某一列上,如下所示:

        <Window.Resources>
            <DataTemplate x:Key="ColumnCanEdit">
                <WrapPanel>
                    <TextBox FontSize="12" HorizontalAlignment="Stretch"  VerticalAlignment="Stretch" FontFamily="SimHei" IsEnabled="True" Name="tbx"/>
                </WrapPanel>
            </DataTemplate>
        </Window.Resources>
    
        <Grid>
            <DataGrid>
                <DataGrid.Columns>
                    <DataGridTextColumn HeaderTemplate="{StaticResource ColumnCanEdit}"/>
                </DataGrid.Columns>
            </DataGrid>
        </Grid>

    2014年5月19日 8:53
  •    哦,这样啊,大致有点思路了。再请问下,如何将TextBox的内容与DataGridTextColumn的Header属性进行绑定。

    2014年5月19日 11:02