设置新行占位符的文本

时间:2015-09-09 08:59:12

标签: c# wpf xaml datagrid

我有一个启用了CanUserAddRows的简单数据网格:

<DataGrid Name="TestCasesDataGrid" Padding="0 0 5 0" AutoGenerateColumns="False" CanUserAddRows="True" CanUserDeleteRows="True" CanUserSortColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn Width="100" Binding="{Binding Name}" />
    </DataGrid.Columns>
</DataGrid>

现在我想要一个灰色的默认文本&#34; new row ...&#34;在新的行占位符中,当我点击它时,它会消失(添加一个新行) 在another question中,我找到了以下设置前景色的方法:

<DataGrid Name="TestCasesDataGrid" Padding="0 0 5 0" AutoGenerateColumns="False" CanUserAddRows="True" CanUserDeleteRows="True" CanUserSortColumns="False">
    <DataGrid.Resources>
        <Style TargetType="{x:Type DataGridRow}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding}" Value="{x:Static CollectionView.NewItemPlaceholder}">
                    <Setter Property="Foreground" Value="Gray" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </DataGrid.Resources>
    <DataGrid.Columns>
        <DataGridTextColumn Width="100" Binding="{Binding Name}" />
    </DataGrid.Columns>
</DataGrid>

但我也找不到添加文字的方法。

1 个答案:

答案 0 :(得分:-1)

你试过这个吗?

<DataGrid Name="TestCasesDataGrid" Padding="0 0 5 0" AutoGenerateColumns="False" CanUserAddRows="True" CanUserDeleteRows="True" CanUserSortColumns="False">
    <DataGrid.Resources>
        <Style TargetType="{x:Type DataGridRow}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding}" Value="{x:Static CollectionView.NewItemPlaceholder}">
                    <Setter Property="Foreground" Value="Gray" />
                    <Setter Property="TextBlock.Text" Value="New Row" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </DataGrid.Resources>
    <DataGrid.Columns>
        <DataGridTextColumn Width="100" Binding="{Binding Name}" />
    </DataGrid.Columns>
</DataGrid>