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 Sebrahi
Thema: MahApps.Metro Themes finden
Am im Forum: GUI: WPF und XAML

Hallo,
ich habe mir das NuGet-Paket "MahApps.Metro" heruntergeladen um ein HamburgerMenu zu erstellen. Die Farbgebung des Wpf wird durch folgene Zeile bestimmt:


<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Themes/light.Brown.xaml" />

Das Theme kann auch abgeändert wie hier in der Doc beschrieben MahApps.Metro - Usage

Nun möchte ich aber die Farbe des Menüs selbst gestalten und z.b der ItemMarkierung und dem Inhalt unterschiedliche Farben geben.

Deshalb wollte ich auch die Datei finden wo light.Brown.xaml definiert ist. Aber ich habe in jeder MahApps.Metro.xaml geschaut aber diese nicht gefunden.
Ich weiß nicht wo diese Themes sein sollen. Auch die Mircosoft Doc zu den Pack URIs hat mir nicht weitergeholfen. Deshalb wollte ich euch fragen ob ihr wisst wo diese Themes zu finden sind und wie man die ändern kann.

Komplette App.xaml :

<Application x:Class="WPF_menu.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls"
             StartupUri="MainWindow.xaml">
    <Application.Resources>
        
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Themes/light.Brown.xaml" />
            </ResourceDictionary.MergedDictionaries>
            <Style TargetType="{x:Type Controls:WindowButtonCommands}" BasedOn="{StaticResource MahApps.Styles.WindowButtonCommands.Win10}" />
        </ResourceDictionary>
        
    </Application.Resources>
</Application>

Thema: UserControl vorherigen Zustand übernehmen
Am im Forum: GUI: WPF und XAML

Hallo,
danke für deine Antwort. Leider hat dies nichts verändert. Weder mit true nocht mit false.


        <DataTemplate x:Key="UserControl_1_Template" x:Shared="true">
            <local:UserControl_1/>
        </DataTemplate>
        <DataTemplate x:Key="UserControl_2_Template" x:Shared="true">
            <local:UserControl_2/>
        </DataTemplate>

Thema: UserControl vorherigen Zustand übernehmen
Am im Forum: GUI: WPF und XAML

Hallo zusammen,
mein Problem ist, dass wenn ich im Menü zwischen den UserControls wechsele, dass dann die Zustände nicht gespeichert werden.
Z.b in UserControl_2 wird ein Button deaktiviert. Aber wenn ich dann zu UserControl_1 gehe und dann wieder zu UserControl_2 Wechsel, dann ist der Button wieder aktiviert.
Dies liegt daran, dass UserControl_2 mit InitializeComponent() wieder alles neu lädt wie bei seinem Anfangszustand und da war der Button aktiviert.

Nun die frage wie ich das Problem am besten löse?



//UserControl_1.cs:
namespace My_WPF
{
    public partial class UserControl_1: UserControl
    {
        public UserControl_1()
        {
            InitializeComponent();
        }

    }
}

//UserControl_2.cs:
namespace My_WPF
{
    public partial class UserControl_2: UserControl
    {
        public UserControl_2()
        {
            InitializeComponent();
        }

        private void myButton_Click(object sender, RoutedEventArgs e)
        {
            myButton.IsEnabled = false;
        }
    }
}


//App.xaml (ohne layout):

        <x:Array x:Key="NavigationMenuItems" Type="s:String">
            <s:String>UserControl_1</s:String>
            <s:String>UserControl_2</s:String>
        </x:Array>

        <DataTemplate x:Key="UserControl_1_Template">
            <local:UserControl_1/>
        </DataTemplate>
        <DataTemplate x:Key="UserControl_2_Template">
            <local:UserControl_2/>
        </DataTemplate>

// MainWindow.xaml:

<Window.Resources>
        <Style x:Key="NavigationContentStyle" TargetType="ContentControl">
            <Setter Property="ContentTemplate" Value="{StaticResource UserControl_1_Template}"/>
            <Style.Triggers>
                <DataTrigger Binding="{Binding ElementName=NavigationMenuListBox, Path=SelectedItem}"
                             Value="UserControl_2">
                    <Setter Property="ContentTemplate" Value="{StaticResource UserControl_2_Template}"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
</Window.Resources>

<Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" MinWidth="155"/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>

        <ListBox x:Name="NavigationMenuListBox" 
                 Style="{StaticResource NavigationListBoxStyle}"
                 ItemContainerStyle="{DynamicResource NavigationListBoxItemStyle}"                     
		 ItemsSource="{StaticResource NavigationMenuItems}"
        />

        <ContentControl Grid.Column="1" Style="{StaticResource NavigationContentStyle}"/>      

</Grid>

Thema: Positive/negative Antwort per Code bestimmen
Am im Forum: Rund um die Programmierung

Vielen Danke für die Antworten. Das ist genau das was ich gesucht habe

Thema: Positive/negative Antwort per Code bestimmen
Am im Forum: Rund um die Programmierung

Hallo Zusammen,
ich suche Ansätze zu folgendem Problem:

Der User gibt eine Antwort auf eine Frage wie zum Beispiel "Möchtest du wissen wie mein Tag war?".
Anhand des Antwort-Strings soll das Programm nun möglichst gut entscheiden, ob der User mit ja oder nein geantwortet hat.

Eine Überprüfung ob im String die Stichworte wie "ja, nein, natürlich,..." vorkommen fällt raus wenn die Antwort z.b so lautet:
"Ich habe heute keine Zeit" oder " Ich höre".

Deshalb wollte ich fragen wie man dies bei solchen Antworten löst.

VG Sebrahi

Thema: Stacktrace von einem Thread ausgeben
Am im Forum: Rund um die Programmierung

Vielen Dank für euere Antworten.
Bzgl. der Frage was der Zweck des Ganzen ist.
Bei den Threads in meinem Programm die lange laufen, kommt es mal vor, dass ich nach ein Paar tagen merke,
dass ein Thread nicht das tut was es soll. Um zu schauen wo der Thread hängt um den Fehler zu beheben wäre es für mich sehr sinnvoll zu wissen wo es hängt.
Also wo der Thread gerade etwas ausführt.

Thema: Stacktrace von einem Thread ausgeben
Am im Forum: Rund um die Programmierung

Bei einer Exception kann man ja die Zeile herausfinden wo die Exception aufgetren ist mit :


int line = (new StackTrace(ex, true)).GetFrame(0).GetFileLineNumber();

Analog möchte ich ohne das eine Exception auftrifft, außerhalb eines Threads, die Aktuell ausgeführten Code ausgeben.
Ist das möglich mit Thread oder anderweitig?


      Thread myThread = new Thread(ThreadMethod);           
      myThread.Start();            
      myThread.GetLineOfCurrentlyExecutedCode();// Dies möchte ich realisieren

Thema: Paralleler always running Code am besten implementieren vom WPF Projekt.
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo, ich habe ein WPF Projekt. In der WPF GUI wird das Programm StartWebcrawlingParallel aufgerufen.
Diese soll mehere headless Chromefenster starten in Parallel, die nie beendet werden sollen.
Diese Chromefenster greifen auch auf eine SQL-Server Datenbank zu.

Die Fragen die ich mir stelle sind:
- sollte ich 1) Invoke 2) Task oder 3) Thread dafür benutzen?
- wie viele ich davon erstellen soll für die beste Leistung. Ich besitze einen 16 kerne Processor, sollte ich dann 16 Task/Threads/Invoke erstellen?
- Ist es ok ein WPF Projekt zu benutzen für AlwaysRunning Code? Ich möchte das mein Code die ganze Zeit läuft.


         public static void WebcrawlingAlwaysRunning()
        {
            
            ChromeOptions chromeOptions = new ChromeOptions();
            chromeOptions.AddArguments("--headless");

            var driverService = ChromeDriverService.CreateDefaultService();
            IWebDriver driver = new ChromeDriver(driverService, chromeOptions);    
        
            while (true)
            {
                //web crawling 
            }

        }
        public static void StartWebcrawlingParallel_1()
        {
            Parallel.Invoke(WebcrawlingAlwaysRunning, WebcrawlingAlwaysRunning, WebcrawlingAlwaysRunning, WebcrawlingAlwaysRunning);            
        }
        public static void StartWebcrawlingParallel_2()
        {      
            Task Task = Task.Factory.StartNew(WebcrawlingAlwaysRunning);
            Task Task2 = Task.Factory.StartNew(WebcrawlingAlwaysRunning);
            Task Task3 = Task.Factory.StartNew(WebcrawlingAlwaysRunning);            
        }
        public static void StartWebcrawlingParallel_3()
        {
            Thread thread1 = new Thread(WebcrawlingAlwaysRunning);
            Thread thread2 = new Thread(WebcrawlingAlwaysRunning);
            Thread thread3 = new Thread(WebcrawlingAlwaysRunning);
            thread1.Start();
            thread2.Start();
            thread3.Start();
        }

Thema: Ich realisiere Parallel.Invoke mit await Task.Run , gibt es Nachteile oder Unterschiede?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,


     public static async void Start_myMethod1_asyncron()
    {
        await Task.Run(() => {
            myMethod1();
        });
    }
    public static async void Start_myMethod2_asyncron()
    {
        await Task.Run(() => {
            myMethod2();
        });
    }

    public static void Main(string[] args)
    {

        Start_myMethod1_asyncron();
        Start_myMethod2_asyncron();

        //difference?

        Parallel.Invoke(myMethod1, myMethod2); 

    }
Tun Start_myMethod1_asyncron() und Start_myMethod2_asyncron() zusammen das Gleiche wie Parallel.Invoke(myMethod1, myMethod2)?
Kann ich asyncron()-Methoden verwenden, um Parallelität zu realisieren?

Thema: Objekte effizienter erstellen
Am im Forum: Grundlagen von C#

Wie kann ich dies effizienter erstellen?


                    MyClass Object_1 = new MyClass();
                    MyClass Object_2 = new MyClass();
                    .
                    .
                    .
                    MyClass Object_100 = new MyClass();



Thema: IntelliCode meine eigenen Sterne erstellen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,
die Sterne im IntelliCode zeigen die bevorzugten Methoden oder Eigenschaften von einer Klasse.

Nun möchte ich bei meinen selbst erstellen Klassen auch solche Sterne erstellen um auf meine meist genutzten Methoden schneller zugreifen zu können.

Wie ist das möglich?

Thema: Professionelle Beispielprojekte
Am im Forum: Smalltalk

Hallo,
ich suche ein oder mehrere professionelle Bespielprojekte bzw. fertige Software(kein Tutorial) die in C# geschrieben wurden,
die ich mir dann in Visual Studio betrachten kann, damit ich sehe welche Klassen und Namespace erstellt werden, wie lang diese sind, welche Konventionen sie benutzen usw.
Am besten Projekte/Software mit Datenbankanbindung.

Kennt ihr Seiten wo ich solche Projekte finden kann?

Mit freundlichen Grüßen
Sebrahi

Thema: Wieso stürzt Visual Studio ohne Fehlermeldung ab und startet neu?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

In der log steht nichts aber ich habe nun die Fehlerquelle gefunden. Die Software eXtraButtons hat den Absturz verursacht. Habe die Software beendet und nun funktioniert es wieder.

Thema: Wieso stürzt Visual Studio ohne Fehlermeldung ab und startet neu?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,
wenn ich im Projektmappen Explorer rumklicke oder nur Code schreibe (ohne etwas auszuführen) fängt Visual Studio an nicht mehr zu reagieren und startet das Projekt neu.
Ohne Fehlermeldung nichts. Er startet einfach neu nachdem er nicht reagiert hat.

Dies passiert nachdem ich das Projekt geöffnet habe nach 2-5 Minuten immer mal wieder.
Habe es auch bei einem ganz neu erstellten Projekt probiert. Das gleiche Problem.


Habt ihr eine Idee woran das liegen kann?

Viele Grüße
Sebrahi

Thema: Warum funktioniert das Updaten des UIs im Designer beim ersten mal und hängt ab dann?
Am im Forum: Datentechnologien

Hallo,
wenn ich meine Projekt öffne und im Designer etwas veränderte und dann auf Aktualisieren drücke dann funktioniert es beim ersten mal das Updaten.
Wenn ich danach dann nochmal was verändere z.b neue spalte hinzufügen, dann erscheint ewig die Meldung Updateskript wird vorbereitet... wie unten im Bild zu sehen.

Wenn ich mein Projekt schließe und wieder öffne dann kann ich erneut einmal was ändern und danach hängt es wieder bei der nächsten Aktualisierung im Designer.

Auch bei jeder anderen Datenbank und Tabelle in diesem Projekt tritt dies auf.
Auch aktualisieren der Datenbank hat dieses Problem nicht gelöst.

Wie kann ich dieses Problem beheben?

Thema: Welches Datenbanksystem für VS und meinen Anforderungen?
Am im Forum: Datentechnologien

Vielen Dank für die Vorschläge.


Ich habe gesehen, dass es bei SQL Server Express die Möglichkeit gibt eine lokale Datenbankdatei zu erstellen.
Welche Vor- und Nachteile hätte dies? Würde dies zu meinen Anforderungen besser passen oder ist es egal ob die Datenbank lokal ist oder nicht?

Thema: Welches Datenbanksystem für VS und meinen Anforderungen?
Am im Forum: Datentechnologien

Hallo,
ich wollte fragen welches Datenbanksystem sich eurer Meinung nach am besten für folgende Kriterien eignet:

-Ich möchte nur in Visual Studio mit der Datenbank arbeiten.
-Ich möchte Daten von Webseiten in die Datenbank mittels C# speichern und auslesen.
-Die Datenbanksprache soll SQL sein.
-Jährlich kommen 1 Millionen Einträge dazu. (8 Millionen Einträge reichen insgesamt).
-Nur ich werde die Datenbank benutzen.
-Keine kommerzielle Verwendung
-Kostenlos bis 70€ im Jahr


Viele Grüße
Sebrahi

Thema: Selenium headless Chrome eingeloggt bleiben
Am im Forum: Rund um die Programmierung

Hallo liebe Community,
mit meinen unten beschriebener Code funktioniert es ,dass ich mich auf einer Webseite einlogge und beim nächsten Start von Chrome eingeloggt bleibe.

Wenn ich aber Chrome in headless starte dann funktioniert es nicht mehr und bleibe nicht mehr eingeloggt wenn ich Chrome schließe und erneut starte.

Wie kann man dies beheben bzw. woran liegt das?

          
        static void Main(string[] args)
        {
            var chromeOptions = new ChromeOptions();        
    
            chromeOptions.AddArguments("--window-size=1920,1080");
            chromeOptions.AddArguments("start-maximized");
            chromeOptions.AddArguments("user-data-dir=C:/Users/seb/Downloads/Mein_ Chrome_Profile");  // Daten wie Cookies,Local State,Preferences usw. werden hier gespeichert
            chromeOptions.AddArguments("--no-sandbox");
            //chromeOptions.AddArguments("headless"); (Mit headless funktioniert es nicht)

            var chromeDriverService = ChromeDriverService.CreateDefaultService();
            chromeDriverService.HideCommandPromptWindow = true;            
          
            using (IWebDriver driver = new ChromeDriver(chromeDriverService, chromeOptions))
            {
                //Code zum Einloggen einer Webseite

            }

       }

Thema: Wie kann ich Codeblöcke in eine Methode übergeben?
Am im Forum: Grundlagen von C#

Hallo liebe Community,
gibt es eine Möglichkeit eine Methode zu erstellen die Anweisungen in geschweiften Klammern übergibt. Als Beispiel ich erstelle folgende Methode


        public static void vier_mal_wiederholen()
        {
            for(int i=1;i≤4;i++)
            {
                // hier soll der Code rein der viermal wiederholt werden soll

            }

        }


Nun ist mein Ziel die Methode folgendermaßen aufrufen zu können.


       vier_mal_wiederholen()
      {
         MessageBox.Show("hi");
      }

Also eine Methode erstellen die die Anweisungen in den geschweiften Klammern an eine bestimmte stelle in der Methode ausführt.

Ist dies möglich in C# zu realisieren und falls ja wie ist das möglich?