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 weismat
Thema: WPF - DataGrid bindet nicht an IEnumerable
Am im Forum: GUI: WPF und XAML

Ich benutze gerne PropertyChanged.Fody, damit ich nicht manuell INotifyPropertyChanged implementieren muss.

Dann wird für jedes Public Property mit getter und setter INotifyPropertyChanged direkt beim Compilieren generiert.

Thema: Multithreading - mehrere Prozesse liefern ständig Daten, dass Button_Click nicht mehr reagiert
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich würde an Deiner Stelle Deine Updates nur alle x ms im Block verarbeiten.
Eine Möglichkeit wäre es, eine Blocking Collection zu benutzen.
DataReceived schreibt in die Blocking Collection und ein eigener Update-Thread fast alle Änderungen in einem Schritt zusammen und ruft dann einmal für x ms das Invoke auf.

Thema: Falsche Version für Office Interop
Am im Forum: Office-Technologien

OpenXML ist nicht unbedingt schwerer als Interop, es ist nur eine komplett andere Sichtweise.
Bei Interop automatisierst Du Aktionen in der GUI, bei OpenXML musst Du mehr auf Basis des Dokuments denken.
Andre Krämer hat einen ganz ordentlichen Vortrag mit Beispiel-Code dazu - das ist für Word.

Thema: Falsche Version für Office Interop
Am im Forum: Office-Technologien

Bei einer Anpassung würde ich auf jeden Fall auf Office Open XML umstellen - Interop ist nicht 100% stabil und auf Windows Server oder Azure nicht unterstützt - außerdem kannst Du dann bei den SW-Lizenzen sparen.

Thema: Statische Propertie in Task (Verständnisproblem)
Am im Forum: Grundlagen von C#

Was benutzt Du zur Synchronisation? lock, Interlocked oder etwas anderes?
Deine Beschreibung legt nahe, daß Du das entweder gar nicht oder falsch machst.

Thema: volatile und Multithreading - Race bei i += 7
Am im Forum: Rund um die Programmierung

Volatile Almost useless for multithread programming und atomicity, volatility and immutability are different
geben Dir mehr Anregungen.
Meine Erfahrungen mit Interlocked sind nicht so positiv - im Vergleich zu lock war es eher langsam...

Thema: Ringpuffer einer seriellen Schnittstelle "parallel" zur Anwendungsoberfläche (GUI) auswerten
Am im Forum: Rund um die Programmierung

Die entscheidende Frage hast Du Dir auch gestellt - das GUI wird immer in einem einzigen Thread aktualisiert - daher brauch man immer Control.Invoke/Dispatcher.Invoke zum Aktualisieren...

Thema: Einfacherer Weg eine Zelle in einem DataGrid zu editieren
Am im Forum: GUI: WPF und XAML

Bei WPF solltest Du mit MVVM/DataBinding arbeiten.
Dazu würdest Du das Grid auf eine Observable Collection binden.
Damit Du nicht IProperityNotifyChange auf jedes Property manuell erstellen musst, würde ich mir Fody/PropertyChanged anschauen, um Dir viel getippe zu sparen.

Thema: Einstieg in Versionsverwaltung
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Ich benutze als Einzelentwickler Mercurial via TortoiseHG und Visual HG.
Wichtig ist bei Euch neben dem Tool, dass Ihr Euren Entwicklungs-Prozess etwas mehr vereinheitlicht.

Thema: C++ ATL COM Komponente mit C# UnitTest testen
Am im Forum: Rund um die Programmierung

Wahrscheinlich geht es da um Managed DLLs/Exes.
Du kannst mit normalen .NET Unit-Tests nur die Interop-Schicht testen.

Thema: RDP-Verbindung über's Internet: Abfrage der umgeleiteten Drucker extrem langsam
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wahrscheinlich serialisiert WinWord die PrinterSettings, um beim Startup die letzten bekannten Settings zu nehmen.
Du könntest das gleiche machen, wenn Du dann auch einen Reload Button für die Settings hinzufügst.

Thema: TabControl - Wie auf Wiederholelemente zugreifen?
Am im Forum: GUI: WPF und XAML

Danke für dieses gute Beispiel - wie gesagt bin ich WPF-Anfänger und finde das es wenig gute WPF Beispiele gibt - meistens werden Controls erklärt und dann wirds meist schlampig.
Ich werde mich damit weiter beschäftigen und Dir dann später mal konkrete Fragen stellen. Würdest Du für MVVM ein Framework wie Prism oder Caliburn Micro empfehlen oder so wie in Deinem Beispiel bei WPF selbst bleiben.

Thema: TabControl - Wie auf Wiederholelemente zugreifen?
Am im Forum: GUI: WPF und XAML

Wie gesagt bin ich WPF Anfänger.
Damit ich die Elemente im XAML nicht wiederhole, habe ich eine Ressource geschrieben, die "CommonTabContent" heisst - diese wird mehrfach in den TabItems benutzt.
Die Ressource finde ich mit

StackPanel stackPanel = (StackPanel)this.FindResource("CommonTabContent"); 
Wie finde ich nun das darunterliegende MyDataGrid, um das Data-Binding zu setzen.
Ohne die Tabs konnte ich einfach MyDataGrid.ItemsSource setzen.

Thema: TabControl - Wie auf Wiederholelemente zugreifen?
Am im Forum: GUI: WPF und XAML


<Window x:Class="Wpf.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="App" Height="350" Width="1065.85" Closing="Window_Closing">
    <Window.Resources>
        <StackPanel x:Key="CommonTabContent">
            <DataGrid HorizontalAlignment="Left"  Margin="0,79,0,0" VerticalAlignment="Top" Name="MyDataGrid" FontSize="16" FontStyle="Normal" FontWeight="Bold"/>
<Button Content="Stop" HorizontalAlignment="Left" Margin="301,20,0,0" VerticalAlignment="Top" Width="75" Click="Stop_Click"/>
        </StackPanel>
    </Window.Resources>

    <Grid>
        <TabControl HorizontalAlignment="Left"
            Height="299"
            Margin="10,10,0,0"
            VerticalAlignment="Top"
            Width="497"
            SelectionChanged="TabControl_SelectionChanged">
            <TabItem Header="1" Content="{StaticResource CommonTabContent}"></TabItem>
            <TabItem Header="2" Content="{StaticResource CommonTabContent}"></TabItem>
            </TabControl>
    </Grid>
</Window>
Ich bin WPF Neuling und versuche ein TabControl mit sich wiederholenden Elementen zu erstellen.
Wie erstelle ich nun das Data-Binding für das sich wiederholende DataGrid und wie weiß ich, welche Tab-Button-Kombination vorliegt - wahrscheinlich muss ich mir jeden Klick merken, oder?

Thema: Arbeiten mit WebBrowser kostete viel CPU
Am im Forum: Web-Technologien

Welche IE Version benutzt Du? (Request.Browser.Version.ToString()).
Vielleicht kannst Du auf eine neue IE Version aktualisieren oder einen anderen Browser nehmen? Kannst Du die Web-Seiten, die dahinter stehen, optimieren oder ist das für Dich eine Black Box?

Thema: Womit Daten loggen für Geräteserver
Am im Forum: Datentechnologien

Schau Dir die Channel 9 Videos und diese Übersicht an.
Ich habe noch mehr Material als Powerpoint.

Thema: Womit Daten loggen für Geräteserver
Am im Forum: Datentechnologien

Ich würde Dir an Deiner Stelle Event Tracing empfehlen.
Es ist etwas komplexer als normales Logging, dafür rasend schnell - so wird es in der CLR für die Garbage Collector Statistiken benutzt.
Ich habe selber etwas dazu auf meinem Blog - Windows Event Tracing in C# - vor kurzem geschrieben.

Edit: Mit Perfview kannst Du in Excel exportieren - wichtig ist auch, daß das Sammeln und das Auswerten getrennt sind. Es gibt auch andere Tools zum Sammeln, die zum Beispiel anhand der Dateigröße rollen. Es gibt viele Möglichkeiten, aber das ganze ist nicht so einfach.

Thema: XML beschreiben bei Build Prozess
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Bei FAKE würdest Du es übrigens umgedreht machen - aus der XML-Datei für Deinen Build die Daten auslesen - das ist auch intuitiver.

Thema: XML beschreiben bei Build Prozess
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Klassische Lösung wäre ein "Build Event" "Post-build event".
Ansonsten würde ich mich mit FAKE beschäftigen.

Thema: Sinnvoller Einsatz des Producer Consumer Patterns
Am im Forum: Rund um die Programmierung

Das Producer/Consumer Pattern dient auch oft zur Entkoppelung.
Mit einer Schleife bist Du nicht enkoppelt.
Ein Producer ist einfach ein logischer Block, der nicht weiß, was verschiedene Consumer-Implementierungen damit machen.

Thema: Automatisch disposen wenn Objekt nicht mehr gebraucht wird --> using
Am im Forum: Grundlagen von C#

Ich würde Dir Minibench empfehlen. Richtiges Micro-Benchmarking ist viel komplizierter, als man auf den ersten Blick denkt.
Bei Deiner Methode zum Beispiel misst Du wahrscheinlich die Dauer für den JIT-Compiler mit.

Thema: Windows 8.1: .NET Framework 3.5 wird von App benötigt
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Ich würde mit

corflags.exe
jede .exe und .dll einzeln anschauen...Ein Beispiel findest Du How To: View The Header of an EXE/DLL.
Dann wirst Du schon finden, was .NET 3.5 braucht.

Thema: [gelöst] - Zahlen anzeigen/parsen aufgrund von Format ohne CultureInfo
Am im Forum: Grundlagen von C#

Wie ist denn die Spalte in der Tabelle definiert?
Ich bin sehr verwundert, dass die Datenbank eine Zahl mit Locale speichert und nicht als Zahl - sei es als (small/)money oder decimal/numeric.
Du solltest ganz klar zwischen dem Modell/Datenbank und der Darstellung trennen.

Thema: Access Violation bei TCL-Kommandoaufruf über DLL
Am im Forum: Rund um die Programmierung

Dein Delegate/Funktionpointer hat nur Verweise im unmanaged Bereich.
Du musst einen zusätzlichen Verweis herstellen oder ein statisches Feld nehmen, damit der Garabge Collector das delegate nicht löscht.

Thema: Regex performance in mehreren Threads
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Regex kannst Du entweder mittels statischen Methoden oder über eine Instanz von System.Text.RegularExpressions.Regex aufrufen.
Wenn Du Instanzen benutzt, dann sollte es kein Caching und damit auch mehr Performance bei mehren Threads geben. Die Instanzen sind immuteable und damit thread-safe.

Thema: (MC) Zlib komprimierte Packets lesen
Am im Forum: Netzwerktechnologien

Die ZLib bezieht sich auf einen komprimierten Stream - im Gegensatz zum Zip File Format, auf das sich die meisten Beispiele beziehen und das einen Stream mit einem zusätzlichen Header darstellt.
Hast Du es schon mal mit ZLibStream.Klasse probiert? Das sollte problemlos funktionieren.

Thema: Excel-Datei generieren - Best Practice?
Am im Forum: Office-Technologien

Ich benutze gerne EPPlus/ - damit sieht der Code ähnlich wie der COM Code aus, aber Du brauchst kein Excel zur Dokumentenerstellung.
OpenXML ist anhand des Dokuments orientiert - das ist manchmal etwas umständlicher.

Thema: COM-Interop-Problem: Programm "hängt" auf einem anderen Rechner
Am im Forum: Rund um die Programmierung

Ziemlich ins blaue geschossen - vielleicht fehlt Dir ein SDK auf dem anderen Rechner.
Das "Windows Platform sdk" wäre ein typischer Kandidat. Mir ist vor einer Weile auch so etwas passiert und ich habe auch sehr lange gebraucht....

Thema: Problem mit DllImport, Strukturen und Strings
Am im Forum: Rund um die Programmierung

Schau wieder nach einer Fehlermeldung, damit wir Dir helfen können.
Ich würde ausserdem mal eine ganz simple Variante der DLL ohne externe Abhängigkeiten erstellen und vielleicht mit einem C/C++ Programm die DLL mal testen.
Zum Verständnis - Cygwin ist eine komplette Umgebung/Shell, was Du dort kompilierst klappt erstmal nur innerhalb der Shell.

Thema: Problem mit DllImport, Strukturen und Strings
Am im Forum: Rund um die Programmierung

Ich würde Visual Studio oder MinGW nehmen.
Ich finde gerade nicht mehr die genauen Flags für Cygwin, wenn Du tatsächlich darauf bestehst - dann musst Du aber auf jeden Fall eine statische DLL mit exports bauen .
Compile stand alone exe with Cygwin hat folgendes für Dich.