myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns
» Datenschutzerklärung
» Impressum

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Knowledge Base » Artikel » Online Artikel über WPF Attached Properties (engl)
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Online Artikel über WPF Attached Properties (engl)

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
CoderboyPB CoderboyPB ist männlich
myCSharp.de-Mitglied

Dabei seit: 09.01.2008
Beiträge: 160
Entwicklungsumgebung: Visualstudio 2017
Herkunft: Paderborn


CoderboyPB ist offline

Online Artikel über WPF Attached Properties (engl)

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo liebe Community,

Ich habe gestern folgenden sehr guten Artikel über Attached Properties und ihre Anwendungen gefunden, den ich euch nicht vorenthalten möchte

 XAML Magic: Attached Properties

Viel Spaß damit smile
23.11.2017 06:52 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Deaktiviertes Profil Deaktiviertes Profil ist männlich
myCSharp.de-Mitglied

Dabei seit: 06.07.2014
Beiträge: 985


Deaktiviertes Profil ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Nun ja, der Code hat teilweise kleinere Bugs, wo z.B. an einen Event nur Handler hinzugefügt, aber niemals entfernt werden.

C#-Code:
private static void SelectOnEntryChanged(
    DependencyObject d,
    DependencyPropertyChangedEventArgs args)
{
    if (!(bool) args.NewValue) return;
    var text = d as TextBox;
    if (text == null) return;
    text.GotFocus += (s, e) =>
    {
        text.SelectionStart = 0;
        text.SelectionLength = text.Text.Length;
    };
}

Ist in dem Beispiel eher unwahrscheinlich, dass sich der einmal eingestellte Wert wieder ändern wird, aber sauber implementiert ist eben anders.

Und es fehlt der Hinweis, wie man z.B. diese AttachedProperty nur für bestimmte Klassen und deren Nachkommen zulässt.

Die vorgestellte RowHeights Property macht ja nur Sinn für ein Grid, dann ist es ja besser, wenn diese AttachedProperty auch nur bei Grids (und Nachfolgende) möglich ist.

Dazu schreibt man statt

C#-Code:
public static string GetRowHeights(DependencyObject obj)
{
    return (string)obj.GetValue(RowHeightsProperty);
}

public static void SetRowHeights(DependencyObject obj, string value)
{
    obj.SetValue(RowHeightsProperty, value);
}

ganz simpel

C#-Code:
public static string GetRowHeights(Grid obj)
{
    return (string)obj.GetValue(RowHeightsProperty);
}

public static void SetRowHeights(Grid obj, string value)
{
    obj.SetValue(RowHeightsProperty, value);
}

und fertig.

Weil das so einfach ist fehlt mir dieser Hinweis im Artikel.
23.11.2017 08:52 Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als ein Jahr.
Der letzte Beitrag ist älter als ein Jahr.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 22.05.2019 11:34