Wenn Sie ein Button-Element in XAML deklarieren, beziehen Sie sich auf eine in der Windows-Laufzeit definierte Klasse namens Button.
Die Schaltfläche hat viele Attribute wie Hintergrund, Text, Rand, ..... und ein Attribut namens Name.
Wenn Sie nun eine Schaltfläche in XAML deklarieren, ist das wie die Erstellung eines anonymen Objekts, das zufällig ein Attribut namens Name hat.
Im Allgemeinen können Sie nicht auf ein anonymes Objekt verweisen, aber im WPF-Framework ermöglicht es Ihnen der XAML-Prozessor, auf dieses Objekt zu verweisen, egal welchen Wert Sie dem Attribut Name gegeben haben.
So weit, so gut.
Eine andere Möglichkeit, ein Objekt zu erstellen, ist die Erstellung eines benannten Objekts anstelle eines anonymen Objekts. In diesem Fall hat der XAML-Namensraum ein Attribut für ein Objekt namens Name (und da es im XAML-Namensraum liegt, also X:), das Sie festlegen können, damit Sie Ihr Objekt identifizieren und darauf verweisen können.
Schlussfolgerung:
Name ist ein Attribut eines bestimmten Objekts, aber X:Name ist ein Attribut dieses Objekts (es gibt eine Klasse, die ein allgemeines Objekt definiert).
1 Stimmen
Die Antworten legen nahe, dass die Verwendung
x:Name
funktioniert die ganze Zeit über gut. Ich musste es nur ändern inName
Andernfalls konnte ich das Steuerelement in meinem .xaml.cs-Code nicht referenzieren, also gehe ich davon aus, dass es nicht mehr der Fall ist, dass es die ganze Zeit gut funktioniert.