2017-11-08 2 views
0

Ich habe die Label-Klasse erweitert, um ein etwas anderes Stück UI zu erstellen und würde es eher mit XAML als C# -Code zu meiner Seite hinzufügen. Wie kann ich das machen?Xamarin Formen, wie benutzerdefinierte UI in Xaml verwendet werden

Code:

namespace M.Helpers 
{ 
    public class LinkingLabel: Label 
    { 
     public LinkingLabel(Uri uri, String labelText = null) 
     { 
      Text = labelText ?? uri.ToString(); 
      TextColor = Color.Blue; 
      GestureRecognizers.Add(new TapGestureRecognizer { Command = new Command(() => Device.OpenUri(uri)) }); 

     } 
    } 
} 

Wie kann ich einfach schreiben innerhalb meiner Seiten XAML. Ich bekomme Fehler, aber keine Intellisense, um mir beim Import zu helfen.

Antwort

1

Erstes Add Namespace-Deklaration Attribut in den Root-Tag in der XAML-Datei:

xmlns:controls="clr-namespace:M.Helpers" 

Und es verwendet, während der individuelle Steuerung erklärt:

<controls:LinkingLabel Uri="" Text=""> 
... 
</controls:LinkingLabel> 

Auch, weil Sie nicht haben Als Standardkonstruktor in Ihrem benutzerdefinierten Steuerelement müssen Sie die Argumente als Parameter übergeben. Mehr Details here.

Verwandte Themen