1

Wie können wir TextCell Höhe mit Padding/Rand in Windows Universal Project mit Xamarin.Forms festlegen?TextCellRenderer in Xamarin.UWP

versuchte ich Custom renderer in Mutter Projekt folgendermaßen vor:

class CustomTextCellRenderer : TextCellRenderer 
{ 
    public override Windows.UI.Xaml.DataTemplate GetTemplate(Cell cell) 
    { 
     var d = base.GetTemplate(cell); 
     //Set something here??? 
     return d; 
    } 
} 

aber keine Eigenschaft festgelegt werden, finden konnte.

Es gibt eine Funktion, um die Abhängigkeitseigenschaft DataTemplate zu setzen, aber ich konnte es nicht herausfinden. Wie wird der Name der Abhängigkeitseigenschaft für die Höhe festgelegt?

Antwort

0

Da die TextCell eine eingebaute Zelle ist, ist sie optimiert und so konzipiert, dass sie so wie sie ist verwendet werden kann. Sie können jedoch basierend auf der TextCell-Vorlage eine benutzerdefinierte DataTemplate erstellen und diese stattdessen zurückgeben.

Sie können die Originalvorlage im Xamarin.Forms source finden. Dann in dem UWP-Plattform-Projekt App.xaml, definieren Sie Ihre neue Datatemplate in der Resource mit einem anderen Schlüssel:

<DataTemplate x:Key="MyTextCell"> 
    <StackPanel Background="Aqua"> 
     <TextBlock 
      Padding="0 10 0 10" 
      Margin="5" 
      Text="{Binding Text}" 
      Style="{ThemeResource BaseTextBlockStyle}" /> 

     <TextBlock 
      Text="{Binding Detail}" 
      Style="{ThemeResource BodyTextBlockStyle}" 
      x:Name="detail"/> 
    </StackPanel> 
</DataTemplate> 

und greifen Sie in dem benutzerdefinierten Renderer mit:

return App.Current.Resources["MyTextCell"] as Windows.UI.Xaml.DataTemplate; 
+0

Atleast Ich bin in der Lage das zu ändern Layout von textCell. – Vishnu