Hallo,
nun versuche ich ein Projekt von WPF (nur Codebehind) zu modernisieren ..
... geht schief 😠
Diesen Wunsch ließt man hier häufig im Forum und dann stolpert man von einem Problem zum nächsten.
Du solltest unbedingt diesen Artikel lesen:
[Artikel] MVVM und DataBinding
man kann es auch so schreiben:
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\Microsoft\\Windows\\Storage", "SELECT * FROM MSFT_PhysicalDisk");
string type = "";
foreach (ManagementObject queryObj in searcher.Get())
{
switch (Convert.ToInt16(queryObj["MediaType"]))
{
case 1:
type = "Unspecified";
break;
case 3:
type = "HDD";
break;
case 4:
type = "SSD";
break;
case 5:
type = "SCM";
break;
default:
type = "Unspecified";
break;
}
}
Sehr hilfreich: WMI Code Creator v1.0 Da bekommt man auch gleich den C#-Code.
Und dann gibt es auch noch die Doku: ManagementObjectSearcher Klasse
Welche Led’s sind wie weit entfernt? Welche Treiber werden benötigt? Alles an einem Controller mit Matrix gut und schön, aber den Kabelsalat hintendran…. Ein Raspberry halte ich für sehr übertrieben, da nutzt man ja nur einen Bruchteil. Er braucht ja nur etwas Kommunikation und I/O für die Anzeige. Da tuts auch ein ATmega16 mit ein paar Zeile Code. Und ich würde mehrere Controller an einem Bus einsetzen. Dadurch könnte der Kabelsalat und die Längen reduziert werden und es wäre erweiterbar.
Im Endeffekt kommt es aber auf die Anforderungen, die zur Verfügung stehenden Ressourcen und das Wissen an.
Oder man verwendet das vorhandene Tool: Windows 10: So nutzt ihr den integrierten Screen Recorder
Hallo,
was du möchtest, würde ja nur funktionieren, wenn du angemeldet bist und Outlook geöffnet ist. Schau dir mal den Exchange Web Services (EWS) an.
So sollte man es auch nicht machen. Schau mal hier [Artikel] Drei-Schichten-Architektur und hier Datenzugriff aus MVVM mit Repository und UnitOfWork?
Und du solltest unbedingt MVVM einsetzen. Dein Code gehört in das ViewModel und nicht in den Code Behind.
Hallo,
hast du dir schon mal diesen Beitrag angesehen?: [Artikel] MVVM und DataBinding
Hallo,
da du mit WPF arbeitest, beschäftige dich unbedingt mit [Artikel] MVVM und DataBinding. Alles andere wird Murks.
Welches Jahrhundert richtig ist, kann nur der Entwickler oder sogar nur der Nutzer entscheiden. Wenn es das Geburtsjahr ist oder der Zeitraum fest steht, dann kann es der Entwickler entscheiden. Ansonsten kann man dem Nutzer eine Auswahl anbieten oder er muss 4 Stellen eingeben.
Und mit DateTimeOffset kann man ja gut rechnen. 😉
Was spricht gegen diese Variante?:
string date = "21";
DateTimeOffset dateTime;
var r = DateTimeOffset.TryParseExact(date,new string[] { "yy", "yyyy" }, new CultureInfo("de-DE"), DateTimeStyles.AllowWhiteSpaces,out dateTime);
Hallo
da kann man auch mal schauen:
Open XML SDK 2.5 für Office
Wenn du USB Ports suchst, dann damit:
using (var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity WHERE ClassGuid='{4d36e978-e325-11ce-bfc1-08002be10318}'"))
Hallo,
ich nehme immer dieses Tool: WMI Code Creator v1.0
Dies erzeugt dann auch gleich den Code in C#.
Und dein Programm benötigt nur den Verweis auf die System.Management.dll. Ich hab bei mir auf dem PC grade mal geschaut, da gibt es weder bei Win32_USBControllerDevice noch bei Win32_USBController das Property "ProductName".
Hallo,
deine Daten werden nicht in der View gehalten, sondern in dem ViewModel. Das View zeigt nur die Daten an. Damit kannst du zu jeder Zeit auf deine Daten zugreifen. Auch eine Textbox ist durch das 2-Way-Binding an das ViewModel gebunden und die Daten stehen dort zur Verfügung.
Hallo Abt,
den Beitrag Wie programmier ich einen Button in WinForms? hast du wohl geschlossen. Leider sieht man das nicht. Der Button "Antwort erstellen" wird weiterhin angezeigt. Wenn ich ihn drücke, dann wird der Fehler 403 angezeigt. Soll das so sein?
Lucius, dir sollen die Links helfen.
Du hast gefragt:
Wie kann ich den Oben genannten Code über ein Button Ausführen?
Ich kann dir nur so antworten, wie ich deine Frage verstanden habe.
Wenn dir die Antwort nicht hilft, dann mußt du dein Frage präzisieren, aber mich nicht anmachen.
Moin,
die Doku von MS hilft da weiter.
Reagieren auf das Anklicken von Schaltflächen
Control.Click Ereignis
Hallo,
erst einmal vielen Dank an alle Macher des Forums. Super Leistung.
Ich habe aber ein Problem mit der Suche im Forum.
Aktuell kann ich nicht in bestimmten Forenbereichen suchen. Früher ging es mal, wenn man die erweiterte Suche hatte, dass man bestimmte Bereiche auswählen konnte.
Wenn ich jetzt suche und „Treffer als Themen anzeigen“ auswähle, dann funktioniert es auf der 1. Seite. Wenn ich auf die 2. Seite der Suchergebnisse klicke, erhalte ich die Ansicht „Treffer als Beiträge anzeigen“.
Gerade wenn man nach allgemeinen Begriffen wie Button sucht, wird es sehr unübersichtlich. Wenn ich jetzt zur Einschränkung die Begriffe „XAML Button“ eingebe, erhalte ich keinen einzigen Treffer. Egal, ob Leerzeichen, + oder |.
Ich würde es mit einem UniformGrid versuchen. Columns = 7
Hallo TheQPat,
indem du die Daten dem ViewModel übergibst. Dort bereitest du deine Daten entsprechend deiner Wünsche auf und füllst damit zum Beispiel eine ObservableCollection. Diese bindest du an die ItemsSource des DataGrid.
Suchst du sowas?
<ItemsControl ItemsSource="{Binding MyCollection}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<ScrollViewer>
<.../>
</ScrollViewer>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Hallo markus_nds,
ich lese hier immer wieder, dass MVVM schwierig, komplex oder sonst was ist und stolpern dann von einem Codebehind-Problem zum nächsten. Der Code wird immer komplexer und irgendwann nicht mehr nachvollziehbar. Die entsprechenden Pattern sind nicht umsonst da. Gerade wenn man damit anfängt, sind bestimmte Richtlinien sehr hilfreich. Und sorgt auch für weniger Stress im Forum 😉.
Hallo,
IsRowSelected ist bei dir vom Typ string und nicht bool.
Binde doch das Property SelectedItem. Dort steht dann die aktuellen Auswahl oder null drin.
Wenn du das Ereignis benötigst, dann nutze SelectionChanged.
Siehe hier: DataGrid bind command to row select
Hallo c#atriga,
einen Fehler durch eine Messagebox zu melden, würde mich als Nutzer sehr stören.
Schau mal hier: Validieren von Bindungen
Ein Beispiel gibt es hier: WPF und MVVM richtig einsetzen - Teil 3
Hallo,
hier findest du alles, was du brauchst:
Willkommen beim Open XML SDK 2.5 für Office
Tabellenkalkulationen (Open XML SDK)
Moin,
schau mal hier:
XAML-Tipp: So funktionieren animierte GIFs in XAML
XamlAnimatedGif
Gibt es auch über NuGet.
Hallo, schau dir mal diesen Beitrag an:
[FAQ] Variablennamen zur Laufzeit zusammensetzen / Dynamisches Erzeugen von Controls
Hallo,
vielleicht hilft dieser Link etwas:
Windows Hello
DataGridSelectAllButtonStyle
Dafür gibt es, wie Abt schon schrieb, Commands
Hallo,
so wie es aussieht, suchst du sowas:
<ListView ItemsSource="{Binding MeineListe}" HorizontalContentAlignment="Stretch" >
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Background="Red"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Hallo,
dieser Link ist auch interessant: Leitfaden für C#.
Also ich würde mir die Datei erst mal mit Notepad++ ansehen, da lassen sich meistens schon wichtige Infos finden.
Schau dir doch mal Oxyplot an.
Hallo
zusammensetzen von Dateipfaden:
Combine Methode (String, String)
und schau mal hier:
GetDirectories | System Volume Information & Recycle.bin
ein interessanter Artikel zu dem Thema:
Agile Führung: Warum jetzt alle auf den Zug springen – und 6 Gründe, die Finger davon zu lassen
oder schau hier:
Using Parameters
Einfach mal ausprobieren. Da steht die Lösung gleich am Anfang.
oder so
Debug.WriteLine(e.KeyCode.ToString());
Da ist vllt Family nicht das Richtige. Darum mit dem Tool mal etwas weiterschauen. Z.b. Caption bietet sich an.
Sehr gutes Tool:
Moin,
WPF bietet sich da direkt an. Einige Ideen von Herrn Google:
interessante Funktion: "Shift + Enter" 8)
Visual Studio 2015 Tips und Tricks Pkt. VIII.
Hallo
vllt hilft dieser Link weiter:
UI Frontiers: MIDI Music in WPF Applications
Hallo
schau dir mal diese Links an.
http://msdn.microsoft.com/de-de/library/ms747393(v=vs.110).aspx
http://msdn.microsoft.com/de-de/library/aa970904(v=vs.110).aspx
http://msdn.microsoft.com/de-de/library/system.windows.uielement.onrender(v=vs.110).aspx
http://msdn.microsoft.com/de-de/library/system.windows.media.drawingcontext(v=vs.110).aspx
http://msdn.microsoft.com/de-de/magazine/cc337899.aspx
Da sind eigentliche alle Infos zu finden, die man zum zeichnen braucht.
In OnRender kannst du kannst du genauso zeichnen, wie in OnPaint.
Hallo
eindeutiger Fall von [FAQ] Controls von Thread aktualisieren lassen (Control.Invoke/Dispatcher.Invoke)
Siehe auch hier SerialPort.DataReceived-Ereignis :
Das DataReceived-Ereignis wird in einem sekundären Thread ausgelöst, wenn Daten vom SerialPort-Objekt empfangen werden. Da dieses Ereignis in einem sekundären Thread und nicht im Hauptthread ausgelöst wird, kann der Versuch, Elemente wie UI-Elemente im Hauptthread zu ändern, eine Threadausnahme auslösen. Falls es erforderlich ist, Elemente im Haupt-Form oder im Haupt-Control zu ändern, senden Sie Änderungsanforderungen mithilfe von Invoke zurück, der den Vorgang dann auf dem richtigen Thread ausführt.
Bitte beachte [Hinweis] Wie poste ich richtig? (Pkt.: 1.1 und 4.1)