Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von ErikM
Thema: ASP.net WebForms - Konstruktor oder Page_Load()
Am im Forum: Web-Technologien

Hallöchen,

ich habe mich in der Vergangenheit eher mit WPF beschäftigt, jedoch kommt jetzt auch WebForms dazu.

Irgendwie kommt es mir so vor, dass die Page_Load-Methode in den Code-Behind-Dateien verwendet wird, als wäre sie der Constructor der jeweiligen Page.

Warum ist das so ?
Die Dinge die dort meistens getan werden, können doch auch in dem tatsächlichen Constructor ablaufen (also "public Klassenname()" )

Verstehe ich das falsch ?
Warum wird stattdessen immer Page_Load verwendet = ?


Mit freundlichen Grüßen

Thema: Linq2Xml - Child Nodes einfangen
Am im Forum: Datentechnologien

Ich möchte mit Linq to XML ausschließlich die Kind-Elemente einsammeln, die vom XmlSerializer erzeugt worden sind, nachdem dieser beispielsweise ein Objekt serialisiert hat.


XmlSerializer serializer = new XmlSerializer(typeof(T));
            XmlWriterSettings settings = new XmlWriterSettings();
            settings.Encoding = new UnicodeEncoding(false, false); // no BOM in a .NET string
            settings.Indent = true;
            settings.OmitXmlDeclaration = true;
            settings.ConformanceLevel = ConformanceLevel.Auto;
            using (StringWriter textWriter = new StringWriter())
            {
                using (XmlWriter xmlWriter = XmlWriter.Create(textWriter, settings))
                {
                    serializer.Serialize(xmlWriter, poco);
                }

                //return textWriter.ToString();
                /* XmlDocument x = new XmlDocument();
                x.LoadXml(textWriter.ToString());
                
                return x.FirstChild; */

                XDocument x = XDocument.Parse(textWriter.ToString());
                string result = "";

//Hier sammel ich die Elemente ein die ich benötige.. 

                IEnumerable<XElement> children = x.Descendants().Skip(1);
                foreach (XElement childnode in children)
                {
                    result += childnode;
                }

                return result;


<note>
    <to> Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
</note>


ich möchte quasi nur die elemente "to,from,heading,body" haben.. mein Code oben funktioniert.



Ich frage mich ob es wirklich nötig ist mit einer for-each-Schleife zu arbeiten.. ob das eventuell eleganter geht


Mit freundlichen Grüßen

Thema: Dienstverweise ohne Klassengenerierung
Am im Forum: Web-Technologien

Hallöchen,

ich arbeite mit mehreren Asp.net - Webservices (*.asmx-Dateien)..

Ich möchte s.g. Dienstverweise verwenden, jedoch werden scheinbar immer die Klassen, die vom Dienstverweis benutzt werden generiert... Mehrfach :o

Kann man die Klassengenerierung komplett abschalten, denn eigentlich sind alle notwendigen Klassen schon woanders definiert.. . diese würde ich auch gerne benutzten :o


Mit freundlichen Grüßen

Thema: TimeSpan-Werte Xaml StringFormat
Am im Forum: GUI: WPF und XAML

Hellöle,

ich versuche einen TimeSpan-Wert im Xaml innerhalb eines TextBlocks mit StringFormat zum Beispiel folgendermaßen darzustellen "2 Tage, 4 Stunden"

geht das so überhaupt mit StringFormat ?

Ich stehe auf dem Schlauch


Mit freundlichen Grüßen

Thema: WPF DataGrid - Binding auf SelectedItems :o
Am im Forum: GUI: WPF und XAML

Guten Morgen,


also ich hab das mittlerweile geregelt bekommen :3

ich verwende folgendes


<DataGrid Name="dataGrid"
 <i:Interaction.Triggers>
                <i:EventTrigger EventName="SelectionChanged">
                    <i:InvokeCommandAction Command="{Binding SelectionChanged}" CommandParameter="{Binding SelectedItems,ElementName=dataGrid}">
                    </i:InvokeCommandAction>
                </i:EventTrigger>
            </i:Interaction.Triggers>

//.....

</DataGrid>


Im ViewModel führt er dann jedesmal das Command SelectionChanged aus und dort kann ich dann mit den SelectedItems arbeiten :3



"Danke" für die Anworten..

Thema: WPF DataGrid - Binding auf SelectedItems :o
Am im Forum: GUI: WPF und XAML

Hellöle,


ich versuche mittels Binding die SelectedItems eines Datagrids einzufangen.
Das scheint allerdings so nicht direkt machbar zu sein :o

Ich arbeite normalerweise in WPF nach dem MVVM-Pattern und für mich stellt sich die Frage wie ich das sinnvoll lösen kann, wenn ich schon nicht auf Datagrid.SelectedItems binden darf :ö


Hat irgendwer eine Idee dazu ?

Mit freundlichen Grüßen

Thema: [erledigt] Eine Entity kann nicht von 2 EntityChangeTrackern verfolgt werden
Am im Forum: Datentechnologien

Thema hat sich erledigt..

Beim UnitOfWork wurde IDisposable nicht richtig implementiert o___o

Aber jetzt ist alles schön :3

Thema: [erledigt] Eine Entity kann nicht von 2 EntityChangeTrackern verfolgt werden
Am im Forum: Datentechnologien

Zitat von gfoidl
Hast du im anderen Projekt vllt. Referenzen zu anderen Entitäten (die dann noch auf den alten Context zeigen)?

Also es ist jetzt so, dass alle empfangenen Objekte in Listen gepackt werden..

Im Repository steht


_context.Set<T>().AsQueryable();


später ruft ein Controller drauf "ToList()" auf..

Wie kriege ich das hin, dass keine Referenzen mehr den alten DbContext benutzen ?

Ich stehe hart auf dem Schlauch :o

Thema: [erledigt] Eine Entity kann nicht von 2 EntityChangeTrackern verfolgt werden
Am im Forum: Datentechnologien

Joa.. o__o,


ich füllte mit den empfangenen Objekten ein IEnumerable<T> und das ist vermutlich verkehrt :o.. denn die zeigen ja tatsächlich noch auf den DbContext.. :(

Thema: [erledigt] Eine Entity kann nicht von 2 EntityChangeTrackern verfolgt werden
Am im Forum: Datentechnologien

Das mit dem Proxy brachte leider keinen Erfolg :(


Ich habe mal in einem Testprogramm folgendes Szenario nachgebaut.. dort funktioniert das :o..


            Lot a;
            using (Entities context = new Entities())
            {
                 a = context.Lot.First();
            }

            using (Entities context = new Entities())
            {
                context.Lot.Attach(a);
                a.CurrentAmount = 1000;
                
                context.SaveChanges();
            }

alles sehr merkwürdig :(

Thema: [erledigt] Eine Entity kann nicht von 2 EntityChangeTrackern verfolgt werden
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MSSQL Server 2008 R2

Hallöchen,


ich habe in meiner Anwendung ein generisches UnitofWork und diverse Repositories.

diese benutze ich so:



using (IUnitOfWork unitofwork = new UnitOfWork()) 
using (IRepository<Product> productRepository = new Repository<Product()) {

//hier passiert irgendwas

unitofwork.SaveChanges();

}


Die Klasse unitofwork legt auch den s.g. DbContext an, der nach dem Verlassen und disposen des UnitofWork-Blocks auch disposed wird.

Problem : Scheinbar wird der DbContext nicht vernünftig mitentsorgt, sodass beim späteren Versuch ein Attach(T Entitfy) durchzuführen fehlschlägt..

Fehlermeldung ist dann sinngemäß :
Fehler
"Eine Entity kann nicht von 2 EntityChangeTrackern verfolgt werden"
:o

Woran mag das liegen ?

Mit freundlichen Grüßen

Thema: [erledigt] LINQ - Häufigstes Element in einem Array finden
Am im Forum: Datentechnologien

Jo funktioniert . . .sehr gut :3

Thema: [erledigt] LINQ - Häufigstes Element in einem Array finden
Am im Forum: Datentechnologien

kann sein, dass das genau das ist was ich benötige :3


Danke. .

Thema: [erledigt] LINQ - Häufigstes Element in einem Array finden
Am im Forum: Datentechnologien

Hallöchen,

ich frage mich grade wie ich mit LINQ innerhalb eines string-arrays das Element einfangen kann, dass am Häufigsten vorkommt..

Ich stehe da irgendwie gerade auf dem Schlauch..

Ich habe ein großes Array in dem ich die Zeilen einer CSV-Datei als weitere string-Arrays drin liegen habe (vorher gesplittet)..



col = Lines.Select(elem => elem.ElementAt(20)).ToList()
//Spalte steht alleine in "col"

Jetzt wollte ich quasi in einer bestimmten Spalte das häufigste Element haben...
Aber irgendwie komm ich nicht drauf..

Thema: Programm mit Actions und Tasks beendet sich, obwohl noch Tasks laufen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ja.. langsam dämmert es mir :3..

Danke !

Thema: Programm mit Actions und Tasks beendet sich, obwohl noch Tasks laufen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wenn ich nach dem "ContinueWith" - Ausdruck noch ein "updateTask.Wait()" mit dranhänge arbeitet das Programm wie erwartet.. merkwürdig

Thema: Programm mit Actions und Tasks beendet sich, obwohl noch Tasks laufen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Halöle,

ich habe hier eine relativ kleine Anwendung in der ich mal Tasks anstatt von Threads u. BackgroundWorker verwenden wollte..



private static void Main(string[] args)
        {
            
            Action updateAction = new Action(() =>
                {
                    UpdateController updateController = new UpdateController();
                    updateController.UpdateOperation(); 

                });

            Task updateTask = new Task(updateAction, TaskCreationOptions.LongRunning);
       
            Action<Task> finshedUpdateNotityAction = new Action<Task>(FinishedUpdateNotify);
            updateTask.ContinueWith(finshedUpdateNotityAction);
            
            updateTask.Start();

            
        }

        public static void FinishedUpdateNotify(Task task)
        {

            Console.WriteLine("\n\nUpdate abgeschlossen"); 
        }

Das Programm sollte eigentlich starten..
Eine Action erzeugen, die eine Instanz von UpdateController erzeugt und dort die Methode "updateController.UpdateOperation()" startet.. Danach.. also wenn dieser Task beendet ist, sollte mit ContinueWith nur eine Meldung ausgegeben werden.

Jedoch wird keine Instanz erzeugt und das Programm beendet sich ohne Fehlermeldung :(
Verstehe ich irgendwas falsch ?. . Was läuft da schief ?

Thema: Wozu sind Komponentenklassen (ICompontent) gut? Ist das noch aktuelle Technologie?
Am im Forum: Rund um die Programmierung

Danke für die Antwort

Thema: Wozu sind Komponentenklassen (ICompontent) gut? Ist das noch aktuelle Technologie?
Am im Forum: Rund um die Programmierung

Nabend,

ich frage mich was es mit den s.g. Komponentenklassen auf sich hat..

Es heisst das sie das Interface ICompontent implementieren bzw. von Component erben, jedoch begreife ich nicht ganz wozu das gut ist..

Geht es da nur darum, dass man diese Komponenten dann im Designer verwenden kann ?

Ist das überhaupt noch aktuell, macht man das noch ?.. (Ich arbeite nicht mit WinForms, falls das irgendwie dazu gehört)


Ich bin verwirrt


Mit freundlichen Grüßen

Thema: MVVM - Command und ValidationRule - Problem
Am im Forum: GUI: WPF und XAML

Ja ne.. es lag an der ValidationRule ;(

Ich musste ValidationStep="UpdatedValue" mit reinschreiben..tadaa



<TextBox Width="200">
            <Binding Path="Text" UpdateSourceTrigger="PropertyChanged" NotifyOnValidationError="True" NotifyOnSourceUpdated="True">
                <Binding.ValidationRules>
                    <c:TextValidation  [B]ValidationStep="UpdatedValue"[/B] />
                </Binding.ValidationRules>
            </Binding>
        </TextBox>



Jetzt ist alles schön

Thema: MVVM - Command und ValidationRule - Problem
Am im Forum: GUI: WPF und XAML

Naja.. okee :3... jetzt funktioniert es :3


ABER :<

Mein INotifyPropertyChanged verhält sich merkwürdig, wenn man innerhalb einer Textbox die "Zurück-Taste" (also die über der Eingabetaste).. wenn man damit einzelne Buchstaben quasi löscht, dann wird meine "OnPropertyChanged"-Methode nicht gestartet..

Is das ein gewolltes Verhalten von WPF ?

merkwürdig--

Thema: MVVM - Command und ValidationRule - Problem
Am im Forum: GUI: WPF und XAML

Zu Testzwecken habe ich nachdem ich weiter herumgoogelte, meine Command-Klasse umgebaut



private Action _action;
        private MainWindowViewModel model;

        public Command(Action action, MainWindowViewModel error)
        {
            model = error;
            _action = action;
        }

        public void Execute(object parameter)
        {
            _action();
        }

        public bool CanExecute(object parameter)
        {
            return new TextValidation().Validate(model.Error, CultureInfo.CurrentCulture).IsValid;
        }
        public void RaiseCanExecuteChanged()
        {
            CommandManager.InvalidateRequerySuggested(); 
        }

        public event EventHandler CanExecuteChanged
        {
            add { CommandManager.RequerySuggested += value; }
            remove { CommandManager.RequerySuggested -= value; }
        }


Aber ich habe den Eindruck, dass "CommandManager.InvalidateRequerySuggested(); " nicht anspringt..

D.h. meine CanExecute-Methode arbeitet nicht.. was mache ich falsch = ?

Thema: MVVM - Command und ValidationRule - Problem
Am im Forum: GUI: WPF und XAML

Ja.. das Command hab ich schon implementiert..

Was müsste ich denn in der CanExecute-Methode schreiben um an die ValidationResults zu kommen..

Die Validierung wird ja in XAML angestoßen.. die Textboxen verfärben sich bei einem Fehler..
Aber was müsste ich tun, damit das Command davon erfährt = ?

Thema: MVVM - Command und ValidationRule - Problem
Am im Forum: GUI: WPF und XAML

Halöle,

ich habe hier ein Window


<Window x:Class="ValidationRuleBeispiel.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:c="clr-namespace:ValidationRuleBeispiel"
        Title="MainWindow" Height="350" Width="525">
    <StackPanel Orientation="Vertical">
        <StackPanel.Resources>
            <ControlTemplate x:Key="validationTemplate">
                <DockPanel DataContext="{Binding ElementName=adorner, Path=AdornedElement.(Validation.Errors)/ErrorContent}">
                    <Ellipse x:Name="Ellipse" 
                            DockPanel.Dock="Left" 
                            Margin="2,0,2,0" 
                            Width="14" Height="14" 
                            VerticalAlignment="Center" 
                            Stroke="#40000000" StrokeThickness="2" Fill="Red">
                        <Ellipse.ToolTip>
                            <Border MaxWidth="500" MaxHeight="500">
                                <ContentControl FontSize="14" Content="{Binding}"/>
                            </Border>
                        </Ellipse.ToolTip>
                    </Ellipse>
                    <Border BorderBrush="#40FFAF00" BorderThickness="2" IsHitTestVisible="False">
                        <Border.Background>
                            <SolidColorBrush Color="Red" Opacity="0.2"/>
                        </Border.Background>
                        <AdornedElementPlaceholder Margin="-2" Name="adorner"/>
                    </Border>
                </DockPanel>
            </ControlTemplate>

            <Style x:Key="textBoxInError" TargetType="{x:Type TextBox}">
                <Style.Triggers>
                    <Trigger Property="Validation.HasError" Value="true">

                        <Setter Property="ToolTip"
        Value="{Binding RelativeSource={x:Static RelativeSource.Self},
                        Path=(Validation.Errors)[0].ErrorContent}"/>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </StackPanel.Resources>
        <TextBox Width="200">
            <Binding Path="Text"  UpdateSourceTrigger="PropertyChanged">
                <Binding.ValidationRules>
                    <c:TextValidation />
                </Binding.ValidationRules>
            </Binding>
        </TextBox>
        
        <Button Command="{Binding DasCommand}" Height="25" Width="150">Der Button</Button>
    </StackPanel>
</Window>


Dazu folgendes ViewModel


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Windows;
using ValidationRuleBeispiel.Annotations;

namespace ValidationRuleBeispiel
{
    public class MainWindowViewModel : INotifyPropertyChanged
    {
        private string _text;

        public string Text
        {
            get { return _text; }
            set
            {
                if (value == _text) return;
                _text = value;
                OnPropertyChanged("Text");
            }
        }


        public Command DasCommand { get; set; }


        public MainWindowViewModel()
        {
            DasCommand = new Command(DoSomeThing);
        }

        public void DoSomeThing()
        {
            MessageBox.Show("Funktioniert !");
        }

        public event PropertyChangedEventHandler PropertyChanged;

        [NotifyPropertyChangedInvocator]
        protected virtual void OnPropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler handler = PropertyChanged;
            if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
        }
    }
}


Meine TextValidation-Klasse


class TextValidation : ValidationRule
    {
        public override ValidationResult Validate(object value, CultureInfo cultureInfo)
        {
            bool isValid = false;

            Regex regex = new Regex(@"^[A-Za-z(\-)?]+(( )?[A-Za-z(\-)?])*$");
            try
            {
                if (((string)value).Length > 2)
                {
                    if (regex.IsMatch((string)value))
                    {
                        isValid = !((string)value).Last().Equals('-');
                    }

                }


            }
            catch (Exception e)
            {
                return new ValidationResult(false, "Konnte den Wert > " + value + "\n\n" + e.Message);
            }

            ValidationResult result;

            if (isValid)
            {
                result = new ValidationResult(isValid, null);
            }
            else
            {
                result = new ValidationResult(isValid, "Konnte den Wert > " + value + "< " + "nicht validieren :<");
            }
            return result;
        }
    }


Wenn die Validierung fehlschlägt, wird mir das auch im Window angezeigt.
Wie kann ich das Command dazu bringen, dass CanExecute false zurückliefert, wenn die Validierung fehlgeschlagen ist, sodass der Button sich entsprechend ausgraut

Gegoogelt habe ich gestern danach, jedoch nicht das gefunden was ich brauchte. Ich stiess auf das Interface IDataErrorInfo -> funktioniert das was ich vorhabe nur mit diesem Interface oder kann ich auch anderweitig irgendwie abfrage ob die Validierung fehlgeschlagen ist.. ?

Ziel ist, dass ich bei einem größeren Window alle Textboxen von verschiedenen Validation-Klassen validieren lasse und erst wenn ALLE Validierungen korrekt waren das Command ausführbar wird... garnich so leicht :<

Thema: WPF TreeView an eigene Objekte binden - HierarchicalDataTemplate ?!
Am im Forum: GUI: WPF und XAML

Danke für die Antwort !
Ich habe es jetzt so gemacht.. .


      <TreeView ItemsSource="{Binding Shops}" Margin="10" Height="200">
            <TreeView.Resources>
                <HierarchicalDataTemplate DataType="{x:Type TreeViewBindings:Shop}" ItemsSource="{Binding Categories}">
                    <StackPanel>
                        <TextBlock Text="{Binding Path=Shopname}" />
                    </StackPanel>
                </HierarchicalDataTemplate>
                <HierarchicalDataTemplate DataType="{x:Type TreeViewBindings:Category}" ItemsSource="{Binding Products}">
                    <StackPanel>
                        <TextBlock Text="{Binding Path=CategoryName}" />
                    </StackPanel>
                </HierarchicalDataTemplate>
                <HierarchicalDataTemplate DataType="{x:Type TreeViewBindings:Product}" ItemsSource="{Binding Products}">
                    <StackPanel>
                        <TextBlock Text="{Binding Path=Title}" />
                    </StackPanel>
                </HierarchicalDataTemplate>
            </TreeView.Resources>
        </TreeView>


Die Ausgabe ist in etwa :

- Shop1
------Category1
--------------------Product1
--------------------Product2
--------------------Product2
------+Category2
-Shop2
------+Category1
------+Category2

quasi genau das, was ich wollte :3


MfG
E.

Thema: WPF TreeView an eigene Objekte binden - HierarchicalDataTemplate ?!
Am im Forum: GUI: WPF und XAML

genau..

mir ist irgendwie noch nicht ganz klar an welcher Stelle ich den Kategorietitel ausgeben muss, denn
wenn ich beispielsweise


<TreeView.ItemTemplate>
      <TextBlock Text="{Binding CategoryName}" />
      <HierarchicalDataTemplate ItemsSource="{ Binding Products}">

         <TextBlock Text="{Binding ProductTitle}" />

     </HierarchicalDataTemplate>
 </TreeView.ItemTemplate>


kriege ich einen Fehler --> sinngemäß "Die Item-Auflistung muss vor dem ersten Aufruf leer sein"


MfG l'Erik

Thema: WPF TreeView an eigene Objekte binden - HierarchicalDataTemplate ?!
Am im Forum: GUI: WPF und XAML

Ich habe in meinem Programm eine Liste mit "Category"-Objekten, jedes "Category"-Object enthält eine weitere Liste mit "Product"-Objekten.. Diese wollte ich in einem TreeView anzeigen lassen.. Quasi erst die Kategorien und wenn man die dann anklickt die jeweiligen Produkte..

Ich habe jetzt folgenden Quelltext..

 
<TreeView Height="300"  Width="500" Margin="0,20,0,0" x:Name="TreeView" ContextMenu="{StaticResource Popup}" ItemsSource="{Binding Categories}">
                       
                      
<TreeView.ItemTemplate>
                           
    <HierarchicalDataTemplate ItemsSource="{ Binding Products}">

        <TextBlock Text="{Binding ProductTitle}" />
                            
    </HierarchicalDataTemplate>
</TreeView.ItemTemplate>
                           

                          
</TreeView>

Es werden jetzt nur Produkte angezeigt, der Kategorietitel jedoch nicht..
Weiss jemand, wie ich den gegebenen Quelltext anpassen must, damit das passiert X(


Mit freundlichen Grüßen

Thema: Repository- und Unit of Work-Pattern - Erklärung
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MS-SQL .. gelegentlich MySQL & PostgreSQL


Halöle,

bisher arbeite ich immer mit dem Entity Framework direkt und gelegentlich lese ich von Repositories und dem s.g. Unit of Work - Pattern..

Von dem Repository verstehe ich bisher nur, dass es als Abstraktionschicht vor das Entity Framework geschoben wird, jedoch nicht so richtig warum man das tun sollte..

Könnte jemand bitte erklären, was es mit den beiden Entwurfmustern auf sich hat - welche Gründe es gibt diese einzusetzen ?..

Bisher finde ich immer nur Seiten auf denen die Implementierung erklärt wird, jedoch nicht vernünftig welche Gründe für und dagegen sprechen diese Muster einzusetzen..


Mit freundlichen Grüßen

Thema: WPF Datagrid - DataTrigger -> Style
Am im Forum: GUI: WPF und XAML

Halöle,

ich habe in meiner Anwendung ein Datagrid.
In diesem ändere ich abhängig vom Inhalt der Zeilen des DataGrids die Hintergrundfarbe der ganzen Zeile, jedoch möchte ich nur die einzelne Zelle worin der Inhalt auftaucht einfärben.

Ich arbeite mit diesen DataTriggers. Das funktioniert auch ganz gut. Aber ich weiss nicht was ich als Target nehmen soll wenn ich die Zelle anstatt der Zeile einfärben möchte... Dabei benutze ich ja schon DataGridCell als Target..

Weiss das jemand?

Snippet


<DataGrid CanUserAddRows="False" Name="Grid" Height="614" AutoGenerateColumns="False" Language="DE-de" BorderBrush="#FF0A0909" BorderThickness="1" CanUserSortColumns="True" CanUserReorderColumns="False" CanUserResizeColumns="False" CanUserResizeRows="False" IsManipulationEnabled="False" IsReadOnly="True" MouseDoubleClick="DetailButtonClick" SelectionMode="Single" Width="961">
                    <DataGrid.Columns>
                        
                        <DataGridTextColumn Binding="{Binding LineItem.Orders.OrderNumber, StringFormat=dd.MM.yyyy}" Header="Bestellnummer" Width="130" />
                        <DataGridTextColumn Binding="{Binding LineItem.Orders.Customer.RecipientName, Converter={StaticResource converter}}" Header="Kunde" Width="260" />
                        <DataGridTextColumn Binding="{Binding LineItem.Orders.OrderNumber, StringFormat=dd.MM.yyyy}" Header="Anlegedatum" Width="130" />
                        <DataGridTextColumn Binding="{Binding LineItem.Orders.OrderNumber, StringFormat=dd.MM.yyyy}" Header="Bestellnummer" Width="130" />
                        <DataGridTextColumn Binding="{Binding ReturnState.StateName}" Header="Status" Width="130" />
                        <DataGridCheckBoxColumn />
                    </DataGrid.Columns>

                    <DataGrid.CellStyle>
                        <Style TargetType="{x:Type DataGridCell}">
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding ReturnState.StateName}" Value="schwebend">
                                    <Setter Property="Background" Value="Purple"/>
                                    <Setter Property="Foreground" Value="White" />
                                </DataTrigger>
                       
                                <DataTrigger Binding="{Binding ReturnState.StateName}" Value="angelegt">
                                    <Setter Property="Background" Value="Red"/>
                                    <Setter Property="Foreground" Value="White" />
                                </DataTrigger>
                                <DataTrigger Binding="{Binding ReturnState.StateName}" Value="ungeprüft">
                                    <Setter Property="Background" Value="Orange"/>
                                    <Setter Property="Foreground" Value="Black" />
                                </DataTrigger>
                                <DataTrigger Binding="{Binding ReturnState.StateName}" Value="offene Sonderfälle">
                                    <Setter Property="Background" Value="Black"/>
                                    <Setter Property="Foreground" Value="White" />
                                </DataTrigger>
                                <DataTrigger Binding="{Binding ReturnState.StateName}" Value="wird repariert">
                                    <Setter Property="Background" Value="Yellow"/>
                                    <Setter Property="Foreground" Value="Black" />
                                </DataTrigger>

                                <DataTrigger Binding="{Binding ReturnState.StateName}" Value="eingelagert">
                                    <Setter Property="Background" Value="SpringGreen"/>
                                    <Setter Property="Foreground" Value="Black" />
                                </DataTrigger>

                                <DataTrigger Binding="{Binding ReturnState.StateName}" Value="Kunde">
                                    <Setter Property="Background" Value="SpringGreen"/>
                                    <Setter Property="Foreground" Value="Black" />
                                </DataTrigger>
                            </Style.Triggers> 
                        </Style>
                    </DataGrid.CellStyle>
                </DataGrid>

Thema: DataGridTextColumn
Am im Forum: GUI: WPF und XAML

erledigt. .DataGrid.UpdateLayout() hat geholfen