簡體   English   中英

WPF DataGrid - > CellEditingTemplate顯示的圖標

[英]WPF DataGrid -> Icon Shown For CellEditingTemplate

當您在CellEditingTemplate中使用組合框時,單元格右側會顯示一個下拉箭頭。 當您使用日期選擇器時,單元格的右側會顯示一個小日歷。

在創建CellEditingTemplate時,如何控制此區域中顯示的內容? 如果您使用自定義控件並希望在此區域中顯示圖標,該怎么做?

您應該在自定義用戶控件中添加此圖標。

例:

假設我們有簡單的類Person:

class Person
{
    public int ID { get; set; }
    public string Name { get; set; }
}

我們想要創建自定義控件來編輯人名。

1)我們必須在我們的應用程序中添加圖標作為資源( Build Action = Resource )。

在我的例子中,我創建了文件夾Images並將圖標“user.png”放在那里。

在此輸入圖像描述

2)在下一步中,我們創建自定義控件“NameUserControl”:

<UserControl x:Class="WpfApplicationDataGrid.NameUserControl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="30" />
        </Grid.ColumnDefinitions>      

        <TextBox Text="{Binding Path=Name}" />
        <Image Source="/Images/user.png" Grid.Column="1" />
    </Grid>
</UserControl>

3)現在我們可以在CellEditingTemplate使用新的自定義用戶控件:

<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn Header="ID" Binding="{Binding ID}" />
        <DataGridTemplateColumn Header="Name">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Name}" />
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
            <DataGridTemplateColumn.CellEditingTemplate>
                <DataTemplate>
                    <local:NameUserControl />
                </DataTemplate>
            </DataGridTemplateColumn.CellEditingTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>

結果:

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM