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 FZelle
Thema: Wie funktioniert die Seitennavigation in MAUI?
Am im Forum: Cross Platform Entwicklung - Mobile und IoT

Oder man schaut sich im Maui CommunityToolkit das Popup an
Popup - .NET MAUI Community Toolkit - .NET Community Toolkit

Thema: "Titel" in die Metadaten einer Bilddatei schreiben
Am im Forum: GUI: WPF und XAML

Naja, es gibt bestimmt hunderte von Bibliotheken die es erlauben EXIF Daten in Bildern zu pflegen.
Es ist nicht alle im Framework/Core enthalten.

Thema: Android Bluetooth
Am im Forum: Cross Platform Entwicklung - Mobile und IoT

Wir benutzen das in unserer neuen MAUI App.

Läuft von Android 7 bis Android 13.
Musst nur die richtigen Berechtigungen anfordern.


	<!-- For below Android 12 -->
	<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" android:maxSdkVersion="30" />
	<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
	<uses-permission android:name="android.permission.BLUETOOTH"/>
	
	<!-- Request legacy Bluetooth + location permissions on older devices. -->
	<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" android:maxSdkVersion="30" />
	<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
	
	<!-- For Android 12 and above -->
	<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" android:minSdkVersion="31" />
	<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" android:minSdkVersion="31" />
	<uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:minSdkVersion="31"
		android:usesPermissionFlags="neverForLocation" />


 public class BluetoothLEPermissions : Permissions.BasePlatformPermission
    {
        public override (string androidPermission, bool isRuntime)[] RequiredPermissions
        {
            get
            {
                var isV12 = Environment.OSVersion.Version.Major≥31;

                if( isV12)
                {
                    return new List<(string androidPermission, bool isRuntime)>
                    {

                        (Android.Manifest.Permission.Bluetooth, true),
                        (Android.Manifest.Permission.BluetoothAdmin, true),
                        (Android.Manifest.Permission.BluetoothScan, true),
                        (Android.Manifest.Permission.BluetoothConnect, true),
                        (Android.Manifest.Permission.AccessFineLocation, true),
                        (Android.Manifest.Permission.AccessCoarseLocation, true),
                        //(Android.Manifest.Permission.AccessBackgroundLocation, true),
                    }.ToArray();

                }
                else
                {
                    return new List<(string androidPermission, bool isRuntime)>
                    {

                        //(Android.Manifest.Permission.Bluetooth, true),
                        //(Android.Manifest.Permission.BluetoothAdmin, true),
                        (Android.Manifest.Permission.AccessFineLocation, true),
                        (Android.Manifest.Permission.AccessCoarseLocation, true),
                        //(Android.Manifest.Permission.BluetoothScan, true),
                        //(Android.Manifest.Permission.BluetoothAdmin, true),
                        (Android.Manifest.Permission.AccessBackgroundLocation, true),
                        
                    }.ToArray();
                }
            }
        }
    }


    public class AccessFineLocation : Permissions.BasePlatformPermission
    {
        public override (string androidPermission, bool isRuntime)[] RequiredPermissions =>
            new (string, bool)[] { (Android.Manifest.Permission.AccessFineLocation, true) };
    }
    public class AccessCoarseLocation : Permissions.BasePlatformPermission
    {
        public override (string androidPermission, bool isRuntime)[] RequiredPermissions =>
            new (string, bool)[] { (Android.Manifest.Permission.AccessCoarseLocation, true) };
    }
    public class AccessBackgroundLocation : Permissions.BasePlatformPermission
    {
        public override (string androidPermission, bool isRuntime)[] RequiredPermissions =>
            new (string, bool)[] { (Android.Manifest.Permission.AccessBackgroundLocation, true) };
    }
    public class BluetoothP : Permissions.BasePlatformPermission
    {
        public override (string androidPermission, bool isRuntime)[] RequiredPermissions =>
            new (string, bool)[] { (Android.Manifest.Permission.Bluetooth, true) };
    }
    public class BluetoothAdvertise : Permissions.BasePlatformPermission
    {
        public override (string androidPermission, bool isRuntime)[] RequiredPermissions =>
            new (string, bool)[] { (Android.Manifest.Permission.BluetoothAdvertise, true) };
    }
    public class BluetoothScan : Permissions.BasePlatformPermission
    {
        public override (string androidPermission, bool isRuntime)[] RequiredPermissions =>
            new (string, bool)[] { (Android.Manifest.Permission.BluetoothScan, true) };
    }
    public class BluetoothConnect : Permissions.BasePlatformPermission
    {
        public override (string androidPermission, bool isRuntime)[] RequiredPermissions =>
            new (string, bool)[] { (Android.Manifest.Permission.BluetoothConnect, true) };
    }
    public class BluetoothAdmin : Permissions.BasePlatformPermission
    {
        public override (string androidPermission, bool isRuntime)[] RequiredPermissions =>
            new (string, bool)[] { (Android.Manifest.Permission.BluetoothAdmin, true) };
    }

Thema: CSV Import mit Datum als String
Am im Forum: Grundlagen von C#

Wenn ich über den nuget link, dann auf das csvhelper nuget gehe, dann Projekt webside komme ich nach
A .NET library for reading and writing CSV files. Extremely fast, flexible, and easy to use. | CsvHelper
Da dann Get Started aufrufen.

Ist da wirklich einfach erklärt

Thema: Fragen zum Sortieren
Am im Forum: GUI: Windows-Forms

@kstanger

Ich habe mal zum Spass bei google "datagridview bindinglist sort" eingegeben.
Der erste Link geht zu datagridview-sort-and-e-g-bindinglistt-in-net
Und da dann die erste Antwort verweist auf die MSDN, also die Doku von MS.
https://learn.microsoft.com/en-us/previous-versions/dotnet/articles/ms993236(v=msdn.10)
Und da ist es haar klein erklärt.

Thema: Fragen zum Sortieren
Am im Forum: GUI: Windows-Forms

Zitat von kstanger
Andererseits ist es ein schwaches Bild von den UI-Entwicklern, ein DataGridView zu entwickeln (was ja an Excel erinnern soll) und dort die Funktionalität des Sortierens (was ich als Basic sehe) so zu machen, dass sie eigentlich nicht in das Gesamtkonzept passt und daher nur mit großer Mühe (wenn überhaupt) zu programmieren ist.
Sorry, das liegt nicht an MS sondern daran, daß Du bis jetzt die Grundlagen der SW Architektur nicht verstanden hast.

Das DGV erlaubt das Sortieren, bietet ja extra die Bedienung dieser Schnittstelle an. Das DU dann die falsche Liste nimmst,
ist weder ein MS noch ein DGV problem.

Wie hier schon oft gesagt wurde, nicht erst machen, auf die Schn...e fallen und dann beschweren, sondern endlich mal anfangen
die Grundlagen zu erlesen.
Das spart Dir viel Zeit und Frust.

Thema: XML Multiple classes root
Am im Forum: Datentechnologien

Zitat von olliheide
Wenn ich das auch mit der neuen XSD mache und die Klasse einbinde, dann habe ich natürlich das Problem von zwei Klassen mit dem Namen root.
Ähm, die klassen kannst du benennen wie du möchtest, nur die namen der Properties müssen richtig sein.

Thema: Wann welche Attribute für UI verwenden?
Am im Forum: Grundlagen von C#

Wenn es Datenklassen sind, nein.
Sind es ViewModel evtl, aber eher nicht.

Datenklassen sollten niemals die UI bestimmen, dafür sind sie nicht gedacht.

Thema: DataGridView zu Objektliste konvertieren
Am im Forum: Grundlagen von C#

Und du sollst keine DataTable anhängen

Thema: DataGridView zu Objektliste konvertieren
Am im Forum: Grundlagen von C#

Und warum ungebunden?
Wenn du das sowieso in ein Objekt packst, kannst du auch gleich eine Liste ans Grid binden, dann musst du diesen ganzen Aufwand nicht betreiben.

Thema: Webseite untersuchen und Daten laden
Am im Forum: Web-Technologien

Du hast glaube ich nicht so richtig verstanden was da passiert.
Das hat nichts aber auch gar nichts mit IE oder so zu tun.

Die Seite die du laden willst wird im Browser durch JavaScript mit den Daten und sonstigem versorgt.
Du lädst aber nur den reinen Text der Seite.

Da die eine eigene API haben, wird dir das eh schnell auf die Füße fallen.

https://developer.msci.com/apis/index-api

Thema: Formatierung wird nicht in DataGridView übernommen
Am im Forum: Grundlagen von C#

Ist auch die vollkommen falsche herangehensweise.

Statt immer irgendwas herumzuprobieren, warum versuchst du nicht mal die Grundlagen zu erlernen?

In WindowsForms ist fast alles Event basiert, also wenn du auf irgendwas reagieren willst, dann such ein passendes Event.
https://learn.microsoft.com/de-de/dotnet/api/system.windows.forms.datagridview?view=windowsdesktop-6.0
Für deinen Fall würde sich wahrscheinlich
https://learn.microsoft.com/de-de/dotnet/api/system.windows.forms.datagridview.cellformatting?view=windowsdesktop-6.0
eignen.
Viel einfacher

Thema: Fehler bei UserControls auf Form hinzufügen
Am im Forum: Grundlagen von C#

Soetwas gehört auch nicht in dem Konstruktor aufgerufen.

Wenn das Control im Designer angezeigt wird, wird es per new angelegt.
Woher soll es dann diese Verbindung her haben?

Mach es im OnLoaded und gut.

Thema: DataGridView füllen vereinfachen
Am im Forum: Grundlagen von C#

Dann solltest du dringendst lernen mit der Doku zurecht zu kommen.
Auch solltest du an den Grundlagen arbeiten, Arrays sind für dynamische Daten nicht der richtige Datentyp.

Wenn du den Typ von Song[] in List<Song> änderst, musst du danach nur ein SongsDataGridView.DataSource= Songs machen

Thema: Gibt es noch das alte simple SQLite?
Am im Forum: Datentechnologien

@T-Virus
SQLite-net ist ja nur die Schnittstelle zu SQLite selber und 90% der Issues sind eher dem Unverständnis geschuldet wofür das mal gedacht war.
SQLite-Net ist nicht als Ersatz für Enterprise ready Libs wie EF/Linq2DB/NHibernate gedacht, sondern für "Kleinigkeiten".
Sieht man schon am Fehlen von Child support etc.

Und es benutzt https://github.com/ericsink/SQLitePCL.raw unter der Haube, und das wird schon noch anständig gepflegt.

@Abt:
Es gibt so viele Menschen da draussen die immer noch bei .NET FW bleiben wollen/müssen und da nutzt mir EF-Core nicht so sonderlich.

Aber mein Einwand war nicht, das man es unbedingt benutzen sollte, sondern eine Antwort auf die Frage ob es auch was anderes gibt als die ADO.NET basierte Version.

Und noch einmal, hier geht es nicht um Client/Server.

Thema: Gibt es noch das alte simple SQLite?
Am im Forum: Datentechnologien

Es kann bei weitem nicht was EF kann, aber es ist kleiner und durch direkte ( PInvoke ) Einbindung schneller.
Auch ist es gerade durch etwas wie Connection.CreateTable<T>() sehr einfach das DB Schema zu pflegen.

Ich benutze es für viele kleine Tools, aber ich weiß was ich tue ( meistens ;-)

Thema: Gibt es noch das alte simple SQLite?
Am im Forum: Datentechnologien

@Abt @T-Virus
Ja es gibt eine weitere, viel einfacher zu benutzende Variante von SQLite und die hat nichts mit ADO.NET zu tun.
https://www.nuget.org/packages/sqlite-net-pcl/
Ist dadurch aber wirklich nur für "Kleinigkeiten" zu gebrauchen, wobei sie auch unter Android und IOS funktioniert

Thema: Combobox mit Werten aus TableAdapter füllen
Am im Forum: Datentechnologien

Daten haben in den UI Elementen nichts zu suchen.

Auch WindowsForms bietet DataBinding, das sollte auch hier benutzt werden.

Thema: Datagridview als Tabelle in Word speichern
Am im Forum: Office-Technologien

Und die Daten haben auch nichts im DataGridView zu suchen, die gehören per DataBinding angebunden, wenn überhaupt.

Thema: Ladebildschirm UI blockiert
Am im Forum: GUI: Windows-Forms

Nur das er es nicht zuende gebracht hat.
In einem Task dann Thread.Sleep() aufrufen zeigt von ......

Thema: Bestimmten Abschnitt aus einem String herausfiltern
Am im Forum: Grundlagen von C#

Schon mal in der Doku geschaut welche beiden Parameter SubString erwartet?

Thema: Events und Delegates
Am im Forum: GUI: Windows-Forms

Vollkommen falsche Herangehensweise.
[Artikel] Drei-Schichten-Architektur
Ein UserControl ist zur Anzeige von Daten in einem bestimmten Format gedacht.
Deine Businesslogic hat da nichts drin verloren.
Trenne Daten von den Controls, erstelle Services für die Verarbeitung und benutze DataBinding und beschäftige dich mit den Grundlagen von Async/Await,
denn das was Du da in ApiRequest machst ist die falsche herangehensweise.

Thema: MVC Daten gehen über mehrere Daten verloren
Am im Forum: Web-Technologien

Oder man benutzt Blazor ( Server side ) und muss sich da nicht mehr drum kümmern ( naja fast nicht ).

Thema: Antiviren Suite für Developer?
Am im Forum: Smalltalk

Warum glauben eigentlich alle immer noch das der kostenlose Windows Defender durch irgendetwas anderes ersetzt werden muss?
https://www.av-test.org/de/antivirus/privat-windows/
Und der hat die Möglichkeit Verzeichnisse auszuschließen.

Thema: DLL von Drittanbieter mit einbinden
Am im Forum: Grundlagen von C#

https://www.nuget.org/packages/Costura.Fody/ ist viel einfacher

Thema: SQl Server Event und Service
Am im Forum: Datentechnologien

Schau dir mal SqlDependency an.
Damit kann dein Service sich beim SqlServer registrieren um bei bestimmten Änderungen informiert zu werden.

Thema: Richtiges Binden von selektierten Listen an ein ListItem
Am im Forum: GUI: WPF und XAML

Warum machst du es so umständlich?
Wenn du SelectedItem bindest, wird doch der Setter aufgerufen und du kannst dort machen was du brauchst.

Thema: Problem bei Codierung zu UTF8
Am im Forum: Grundlagen von C#

In 90% der Fälle ist auch System.Text.Encoding.UTF8 die falsche Encoding.
System.Text.Encoding.Default passt meist viel besser.

Thema: Antwort aus Programm herraus
Am im Forum: Grundlagen von C#

Und ganz wichtig, warum muss eine Console App gestartet werden?

Thema: WPF combobox Triggern
Am im Forum: GUI: WPF und XAML

Wenn comboboxen aus der DB geladen werden, läuft schon etwas schief.

Schau dir bitte die folgenden Artikel an.
[Artikel] MVVM und DataBinding
[Artikel] Drei-Schichten-Architektur

Du lädst in dem ViewModel, über die DB Schnittstelle ( Service o.ä. ) die Daten in eine Liste.
Diese "verfrachtest" du dann in die Listen für die jeweiligen CB's.
Dabei kannst du natürlich alles rausfiltern was du meinst.