none
WPF c# datagrid property ändern RRS feed

Alle Antworten

  • Hallo Carl-Heinz,

    Als erstes möchhte ich Dich darauf hinweisen, dass die Änderung der Eigenschaften eines Steuerelements per Code nicht empfehlenswert ist. Siehe dazu folgenden Thread:
    Right way to change datagrid row, column, cells background colours in code-behind?

    Wenn es trotzdem sein muss, habe ich folgendes ausprobiert und ich hoffe, dass dieser Codeausschnitt Dich weiterbringt:

    <Window x:Class="WpfApplication10.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <DataGrid Name="dg" HorizontalAlignment="Left" Margin="133,60,0,0" VerticalAlignment="Top" Height="67" Width="119"/>
            <Button Content="Button" HorizontalAlignment="Left" Margin="83,170,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/>
        </Grid>
    </Window>

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    
    namespace WpfApplication1
    {
        /// <summary>
        /// Interaktionslogik für MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
            }
    
            public class Person
            {
                public string Name {get; set;}
                public int Id {get; set;}
            }
    
            private void Button_Click(object sender, RoutedEventArgs e)
            {
                dg.AutoGenerateColumns = false;
                List<Person> Liste = new List<Person> { new Person { Name = "Georg", Id = 1 }, new Person { Name = "Philipp", Id = 3 }, new Person { Name = "Ernst", Id = 2 } };
                dg.Columns.Add(new DataGridTextColumn { Binding = new Binding("Id"), Header="Id" });
                dg.Columns.Add(new DataGridTextColumn { Binding = new Binding("Name"), Header = "Name" });
                dg.ItemsSource = Liste;
            }
        }
    }

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Mittwoch, 25. Mai 2016 10:13
    Moderator