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 habib
Thema: Mehrere Parameter mit Command übergeben beim Hyperlink
Am im Forum: GUI: WPF und XAML

Irgendwie kann ich nicht verstehen wie genau du das meinst.

An die StackPanels binde ich ein neues ViewModel? Und in diesem verarbeite ich dann die Daten des Hyperlinks? Aber wie bekomme ich die Daten aus dem HauptViewModel ohne CommandParamter rüber an das neue ViewModel?

Thema: Mehrere Parameter mit Command übergeben beim Hyperlink
Am im Forum: GUI: WPF und XAML

Sollte ich für jedes Hyperlink ein eigenes ViewModel nehmen, dann hätte ich 6 Stück. nur für die Hyperlinks. Ansonsten hat meine Anwendung nur noch einen Button der das ganze speichert

Irgendwie habe ich das Gefühl, das hier das MVVM immens mehr Code hervorruft, als wenn ich alles gleich in der Code Behind geschrieben hätte.

Edit:
Oder geht es vlt. auch anders.
Ich möchte auswerten welcher TextBlock gelickt wurde, um entsprechend eine andere Information ausgeben zu lassen. Es soll in einer MessageBox stehen was kopiert wurde. Also der Text des Labels oder des TextBlocks. So könnte ich im ModelView entscheiden welchen Text ich aufgrund des geklickten ausgeben lasse.

Thema: Mehrere Parameter mit Command übergeben beim Hyperlink
Am im Forum: GUI: WPF und XAML

Ich würde gern dem Command noch zusätzlich den Label Content mitgeben, aber wie?
Multibinding scheint mit Hyperlink nicht gehen.


       <StackPanel Grid.Column="0" Grid.Row="4">
            <Label Content="TeamViewer-ID" />
            <TextBlock>
                <Hyperlink Command="{Binding CopyCommand}" CommandParameter="{Binding TeammViewerText}">
                    <TextBlock Text="{Binding TeammViewerText}" />
                </Hyperlink>
            </TextBlock>
        </StackPanel>
Besten Dank

Thema: Wie erstellt ihr Versionsnummern für eure Software?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Mich würde mal interessieren, wie macht ihr das mit den Versionsnummern eurer Software welche ihr veröffentlicht?

Zählt ihr diese immer hoch oder läuft das bei Euch automatisch ab? Wenn ja, wie?

Nach welchen Regeln setzt ihr die Versionsnummern?

Thema: Wie kann ich beim Klick (Maus oder Tastatur) auf einen TextBlock ein Ereignis auslösen?
Am im Forum: GUI: WPF und XAML

Bin gerade dabei Commands durchzuarbeiten.

Danke für den Tipp mit dem Feedback geben.

Zitat von Abt
Man braucht bei WPF nur in ganz gewissen Fällen Events.

Welche wären das?

Wenn ich nur ein Click Event habe, wäre es da nicht günstiger das ganze über Eventhandler zu machen? Ist am Ende ja nur ein kleines Tool.

Thema: Wie kann ich beim Klick (Maus oder Tastatur) auf einen TextBlock ein Ereignis auslösen?
Am im Forum: GUI: WPF und XAML

Windows Presentation Foundation: Das umfassende Handbuch zur WPF, aktuell zu .NET Core 3.0
von Thomas Claudius Huber.

Hab mal einen Screen angefügt.

Thema: Wie kann ich beim Klick (Maus oder Tastatur) auf einen TextBlock ein Ereignis auslösen?
Am im Forum: GUI: WPF und XAML

Zitat von Abt
Nein, bei WPF arbeitet man mit MVVM und damit respektive mit Commands.
[Artikel] MVVM und DataBinding

Habe jetzt einiges an Tutorials gelesen und Videos gesehen. Aber immer werden Eventhandler genutzt. Irgendwie bin ich nun verunsichert. Selbst im WPF Buch habe ich dies gelesen.

Thema: Wie den Inhalt einer Textbox in Zwischenablage kopieren?
Am im Forum: GUI: WPF und XAML

Werde mich mal weiter belesen.

Eine Frage hätte ich noch. Der Text wird ja nun in die Zwischenablage kopiert, zeitgleich sollte nun in der Statuszeile ein "kopiert" erscheinen.

Kann ich das in der Execute Methode mitgeben? Also das ich in der MainWindow.cs Datei eine Methode erstelle:

 

private void OutputStatus() 
      {

            statusbar.text = "kopiert";     
        }



Und dann im Execute aufrufen? Oder gibt es hierfür auch einen anderen Weg in WPF?

Thema: Wie den Inhalt einer Textbox in Zwischenablage kopieren?
Am im Forum: GUI: WPF und XAML

Danke, damit hat es nun funktioniert.

Allerdings steige ich noch nicht genau durch, wie und was. Könntest du mir bitte ein Tutorial empfehlen welches sich mit dieser speziellen Thematik beschäftigt?

Thema: Wie den Inhalt einer Textbox in Zwischenablage kopieren?
Am im Forum: GUI: WPF und XAML

Auf Anraten erstelle ich ein neues Thema.
Ich möchte bei 7 Textboxen den Inhalt bei Klick darauf in die Zwischenablage kopieren.
Dafür habe ich nun alle Textboxen mit Hyperlink verschachtel, die jetzt alle so aussehen.


<TextBlock Focusable="True">
      <Hyperlink Focusable="True" Command="ApplicationCommands.Copy" >
              <TextBlock Name="tb_teamViewerID" Focusable="True" />
      </Hyperlink>
</TextBlock>


Ich weiß, dass ich noch einen Denkfehler habe, allerdings komme ich nicht darauf wo dieser liegt.

Thema: Wie kann ich beim Klick (Maus oder Tastatur) auf einen TextBlock ein Ereignis auslösen?
Am im Forum: GUI: WPF und XAML

Danke das war der Fehler gewesen.
Allerdings bin ich zu doof, wie kann ich jetzt auswählen was kopiert werden soll wenn man darauf klickt?

Thema: Wie kann ich beim Klick (Maus oder Tastatur) auf einen TextBlock ein Ereignis auslösen?
Am im Forum: GUI: WPF und XAML

Und wenn ich dies genau so machen, bekomme ich folgende Meldung zurückgeworfen:

XDG0008	"ApplicationCommand" wird in einem Windows Presentation Foundation (WPF)-Projekt nicht unterstützt.

Thema: Wie kann ich beim Klick (Maus oder Tastatur) auf einen TextBlock ein Ereignis auslösen?
Am im Forum: GUI: WPF und XAML

Und genau da liegt mein Problem, das ich nicht weis wie und was. Gibt es dafür auch einen FAQ Artikel?

Gibt es noch eine Möglichkeit das ganze so zu machen, dass alle TextBlock diese Methode haben?

Thema: Wie kann ich beim Klick (Maus oder Tastatur) auf einen TextBlock ein Ereignis auslösen?
Am im Forum: GUI: WPF und XAML

Zitat von MrSparkle
Außerdem gibt es in WPF für diesen Zweck bereits den HyperLink.

Habe das mal folgendermaßen eingebunden:

<TextBlock>
    <Hyperlink NavigateUri="ApplicationCommand.Copy" >
        <TextBlock Name="tb_NameBox" />
    </Hyperlink>
</TextBlock>

Der Text in der Box wird zwar wie ein Link angezeigt, allerdings wird nichts kopiert.

Thema: Wie kann ich beim Klick (Maus oder Tastatur) auf einen TextBlock ein Ereignis auslösen?
Am im Forum: GUI: WPF und XAML

Habe einen TextBlock und möchte beim Klick darauf (egal ob mit Maus oder Tastatur) ein Ereignis ausgelöst haben. Wäre auch schön, wenn der Mauszeiger sich als Hand verwandeln könnte wenn man darüber fährt.

Die Frage: Wie gehe ich im besten Fall vor.

Jeweils ein MouseDown und KeyDown Event erstellen wo die Methode aufgerufen wird?
G
Oder ist eine TextBox dafür besser geeignet?

Thema: Wieso bringt ein Virenscanner einen "Webroot W32.Rogueware" in eigener *.exe?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von Abt
Was Du mit dem Satz
Zitat
a bekomme ich als einzigen Dienst bei Webroot
ausdrücken willst, ist mir aber unklar.

Damit wollte ich sagen, das nur der Dienst: Webroot bei Virustotal etwas anzeigt. Die restlichen Scanner gaben grünes Licht.


Hm, hab jetzt mal MalwareBytes drüber laufen lassen über mein System, nichts.

Habe hier mal den Code angefügt, vlt. kann ja mal wer darüber schauen und findet was.

 public partial class MainWindow : Window
    {
        public MainWindow()
        {

            InitializeComponent();
            CenterWindowOnScreen();

            // Poduct Key

            // Client Name
            tb_clientName.Text = Registry.GetValue(@"HKEY_CURRENT_USER\Volatile Environment", "USERDOMAIN", null).ToString();

            // Mac Adress
            tb_macAdress.Text = GetMac();

            // TeamViewerID
            tb_teamViewerID.Text = Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\TeamViewer", "ClientID", null).ToString();


        }


        // Ermittelt die Mac Adresse
        private string GetMac()
        {
            string macAdress = "";
            NetworkInterface[] NetworkAdapters = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface adapter in NetworkAdapters)
            {

                if (adapter.OperationalStatus.ToString().Equals("Up"))
                {
                    if (adapter.NetworkInterfaceType.ToString().Equals("Ethernet"))
                    {
                        macAdress = adapter.GetPhysicalAddress().ToString();
                        macAdress = InsertStringAtPosition(macAdress, "-", 2);
                        break;
                    }

                }
                else
                {
                    macAdress = "Keine Mac Adresse gefunden!";

                }


            }

            return macAdress;
        }


        // Fügt in einem String Zeichenketten an bestimmter Position ein
        private string InsertStringAtPosition(string origialString, string replaceString, int position)
        {
            int interator = position + replaceString.Length;
            for (int i = position; i < origialString.Length; i += interator)
            {
                origialString = origialString.Insert(i, replaceString);
            }
            return origialString;
        }


        private void CenterWindowOnScreen()
        {
            double screenWidth = System.Windows.SystemParameters.PrimaryScreenWidth;
            double screenHeight = System.Windows.SystemParameters.PrimaryScreenHeight;
            double windowWidth = this.Width;
            double windowHeight = this.Height;
            this.Left = (screenWidth / 2) - (windowWidth / 2);
            this.Top = (screenHeight / 2) - (windowHeight / 2);
        }



    }

Thema: Wieso bringt ein Virenscanner einen "Webroot W32.Rogueware" in eigener *.exe?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Habe heute mal meine *.exe aus dem Debug Ordner auf mehreren Rechnern getestet.
Nur ein Rechner öffnete die Datei nicht da er dachte, dass ein Virus darauf ist.

Daraufhin das ganze mal bei Virustotal.com hochgeladen und da bekomme ich als einzigen Dienst bei Webroot die Meldung: "W32.Rogueware"

Jetzt bin ich ein wenig verunsichert und weis nicht so recht wie ich dem Ding beikommen soll.

Thema: Wie kann ich nur die Elemente stylen, die sich in einem StackPanel befinden?
Am im Forum: GUI: WPF und XAML

Danke, genau was ich gesucht hatte.

Thema: Wie kann ich nur die Elemente stylen, die sich in einem StackPanel befinden?
Am im Forum: GUI: WPF und XAML

Über Ressourcen habe ich dem StackPanel, den Label und den TextBlock jeweils eigene Styles übergeben.

Ich würde allerdings gern nur die Labels und TextBlocks welche sich in einem StackPanel befinden dem Wert zuweisen und allen anderen Labels außerhalb sollen andere Styles bekommen.

Thema: WPF OnceClick Anwendung mit inkludiertem .NET Core zu gross?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Ok, das habe ich nun auch verstanden.

Das hieße also, bei kleinen Tools (so wie mein Kollege eins geschrieben hat) komme ich besser (kleinere Dateigröße) wenn ich WinForms verwende? Oder sehe ich das jetzt falsch?

Thema: WPF OnceClick Anwendung mit inkludiertem .NET Core zu gross?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Habe das ganze nochmal als Release veröffentlicht und erneut 180 MB erhalten.
Irgendwie will das ganze nicht in meinen Kopf warum eine einfach GUI Anwendung, die noch nichts macht, so groß wird. Ok, verstanden habe ich das sie die gesamte Runtime mit innehat und somit so groß wird.

Ein Kollege von mir hat ein Tool in Delphi geschrieben und das ist gerade einmal 4 MB groß. Als Vergleich habe ich nur mal die GUI nachgebaut und komme allein da schon auf 120 MB? Und ich habe auf meinem System kein Delphi installiert, daher muss da ja auch alles mitkommen. Kann mir das bitte jemand erklären?

Thema: WPF OnceClick Anwendung mit inkludiertem .NET Core zu gross?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat von Abt
.NET Framework ist angekündigt und erfordert genauso wie .NET Core die Runtime auf Windows.

Verstehe ich nicht, was meinst du damit?

Habe jetzt gelesen das die .Net Runtime 4.8... Standardmäßig mit installiert wird bei Windows 10. Also kann ich dies als vorausgesetzt ansehen. Außer das ich die neuen Dinge von .Net Core nicht nutzen kann, dürfte es doch keine Probleme geben?

Thema: WPF OnceClick Anwendung mit inkludiertem .NET Core zu gross?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Den ersten Link hatte ich schon gefunden, trotzdem danke.

Aber gerade wenn ich nur ein kleines Tool haben möchte dann finde ich 180 MB ein bisschen arg viel.

Gerade kam mir ein Einfall und ich habe das ganze nochmals mit .Net Framework 4.7... neu geschrieben und das ganze als *.exe aus dem Debug Ordner geholt. Diese ist nun nur 81 KB groß und läuft auf dem frisch installierten Windows.
Wäre dies auch ein Weg?

Thema: WPF OnceClick Anwendung mit inkludiertem .NET Core zu gross?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Rein aus Testzwecken habe ich nur eine kleine GUI unter WPF mit NetCore3.1 entwickelt. Bisher noch keine Logik eingebaut, nur rein das GUI.

Das Ganze habe ich als OnceClick veröffentlicht und bekam auch eine 181 Kb Datei heraus. Auf meinem System lief sie problemlos, allerdings auf einem frisch installierten Windows (da wo die Anwendung genutzt werden soll) bekam ich die Meldung das NetCore installiert sein muss.

Also das ganze nochmals neu kompiliert und unter Bereitstellungsmodus: Eigenständig angegeben. Damit ging es dann auch auf dem frischen Windows. Aber nun ist die Datei 180 MB groß. Dies finde ich ein bisschen arg groß. Wo mache ich einen Fehler, wo denke ich vlt. falsch? Oder wo hab ich vlt. einen Haken vergessen?