WPF: uso del control DataGrid

1. Uso simple de DataGrid
El uso de DataGrid es en realidad similar al de TreeView, excepto que la estructura del objeto de la organización de fondo es diferente. DataGrid generalmente no necesita una estructura recursiva. La fuente de datos a la que está vinculado, un atributo representa una columna. Si no puede entenderlo, está bien. código.

inserte la descripción de la imagen aquí

            </TabItem>
            <TabItem Header="Message" />
            <TabItem Header=" " />
            <TabItem Header=" "/>
            <TabItem Header=" " />
            <TabItem Header=" " />
            <TabItem Header=" " />
        </TabControl>
    </Grid>


	private string name;
	/// <summary>
	/// 名字
	/// </summary>
	public string Name
	{
		get => name;
		set
		{
			name = value;
			OnPropertyChanged();
		}
	}

	private int number;
	/// <summary>
	/// 数量
	/// </summary>
	public int Number
	{
		get => number;
		set
		{
			number = value;
			OnPropertyChanged();
		}
	}

	private double price;
	/// <summary>
	/// 价格
	/// </summary>
	public double Price
	{
		get => price;
		set
		{
			price = value;
			OnPropertyChanged();
		}
	}

Tres atributos, correspondientes a tres columnas, reglas antiguas, interfaz de escritura y ViewModel (el código es muy simple, escríbalo usted mismo)

    public ObservableCollection<DataGridModel> DataGridModels { get; set; } = new ObservableCollection<DataGridModel>();

    public DataGridViewModel()
    {
        Create();
    }

    private void Create()
    {
        DataGridModels.Add(new DataGridModel()
        {
            Name = "苹果",
            Number = 5,
            Price = 1.5
        });
        DataGridModels.Add(new DataGridModel()
        {
            Name = "香蕉",
            Number = 2,
            Price = 15
        });
        DataGridModels.Add(new DataGridModel()
        {
            Name = "菠萝",
            Number = 3,
            Price = 10
        });
    }

Escríbelo y ejecútalo directamente para ver el efecto.

Un objeto corresponde a una fila y un atributo corresponde a una columna. Es similar a un objeto correspondiente a cada nivel de un TreeView. El estilo predeterminado es un bit. . . Entonces, vamos a embellecerlo a continuación.

Primero embellece el nombre de la columna en chino --> nombre, cantidad, precio (hay una Columna debajo de DataGrid que contiene todas las columnas, y el estilo de cambio de columnas generalmente también está en ella)

    <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding Name}" Header="名称" />
        <DataGridTextColumn Binding="{Binding Number}" Header="数量" />
        <DataGridTextColumn Binding="{Binding Price}" Header="价格" />
    </DataGrid.Columns>

correr,

Silbido, ¿por qué se muestra dos veces? . . (Pequeño problema) Mire el sitio web oficial y descubra que DataGrids crea automáticamente columnas de forma predeterminada, por lo que solo vinculamos la fuente de datos para mostrar columnas al principio, AutoGenerateColumns="False", simplemente establezca esta propiedad en False.

Luego cree otros tipos de columnas (casilla de verificación, cuadro combinado, hipervínculo)

(Si esto es hacer doble clic en la última fila y luego cambiar a otras filas, se agregará una fila), establezca directamente CanUserAddRows="False" para que no pueda crear filas.

Bien, luego configure el cambio de color entrelazado: AlternatingRowBackground="LightBlue" (establezca el color de la fila de destino), AlternationCount="2" (establezca el intervalo entre las filas que cambian de color, el valor mínimo es 2)

Finalmente, la configuración de estilo para filas y celdas.

<DataGrid.RowStyle>
    <Style TargetType="DataGridRow">
        <Setter Property="Background" Value="SkyBlue" />
    </Style>
</DataGrid.RowStyle>
<DataGrid.CellStyle>
    <Style TargetType="DataGridCell">
        <Style.Triggers>
            <Trigger Property="IsSelected" Value="True">
                <Setter Property="Foreground" Value="Red" />
            </Trigger>
        </Style.Triggers>
    </Style>
</DataGrid.CellStyle>

El resultado de la ejecución se muestra en la figura.
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_41883890/article/details/128931883
Recomendado
Clasificación