So aktivieren Sie Rahmen in Raster in Xamarin.forms
Baue ich ein Gitter in Xamarin.Formen.
Und ich möchte noch hinzufügen, dass Grenzen wie Tabellen.
Ich dachte, dass ich hinzufügen könnte, die Grenze bei der Definition von Zeilen und Spalten, scheiterte aber.
Kann mir jemand helfen?
Dies ist mein Aktueller code.
Grid grid = new Grid {
VerticalOptions = LayoutOptions.FillAndExpand,
RowDefinitions = {
new RowDefinition { Height = GridLength.Auto },
new RowDefinition { Height = GridLength.Auto },
new RowDefinition { Height = GridLength.Auto },
new RowDefinition { Height = GridLength.Auto },
new RowDefinition { Height = GridLength.Auto },
new RowDefinition { Height = GridLength.Auto },
new RowDefinition { Height = GridLength.Auto },
new RowDefinition { Height = GridLength.Auto },
new RowDefinition { Height = GridLength.Auto },
new RowDefinition { Height = GridLength.Auto },
new RowDefinition { Height = GridLength.Auto },
},
ColumnDefinitions = {
new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) },
new ColumnDefinition { Width = new GridLength (5, GridUnitType.Star) },
new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) },
}
};
InformationsquelleAutor der Frage Phoenix | 2015-07-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keine
Border
Eigenschaft fürGridView
aber:Setzen Sie einfach
grid.BackgroundColor
zu Ihrem gewünschten Rahmenfarbe Wert einstellen und danngrid.ColumnSpacing
undgrid.RowSpacing
zu Wert und stellen Sie sicher, dass alle Steuerelemente, die Sie hinzufügen, um die grid eigenenBackgroundColor
richtig eingestellt.InformationsquelleAutor der Antwort Daniel Luberda
Hier ist die vollständige Antwort (in XAML), ohne zu schreiben eine custom-renderer oder-Effekt.
Der code ist etwas Ausführlicher, aber leicht zu verstehen und das Ergebnis ist, wie auf dem Bild
Hier ist der code, um die Grenzen, die auf Ihrem Netz (und was mehr ist, Sie haben die volle Kontrolle über Sie, wie Sie bemerken, gibt es keine Blaue Linie auf der linken Seite)
InformationsquelleAutor der Antwort Sturla
Gerade aufgefallen, dass mein Beispiel ist ähnlich Sturla 's aber ein wenig anders, also lass' ich es.
Code ist nicht super schön, aber ich habe etwas ähnliches durch hinzufügen 1px
BoxView
zwischen jede Spalte und dann 1 auf der Oberseite desGrid
und eine auf der Unterseite IhresGrid
:*Edit: Da das schreiben dieses, ich habe verändert die Art, wie ich es ein bisschen. Nun, wie Daniel Luberda Antwort, ich legen Sie einfach die
Grid.BackgroundColor
zuColor.Black
und dann kann ich entfernen Sie alleBoxView
s und ich bin fertig. Ich mache dies, weil ich vermute, es ist viel besser, einige Ansichten auf dem Bildschirm, vor allem, wenn Sie setzen etwas, wie das oben in einemListView
.Auch, da viele meiner Seiten animieren die
Button
s beim laden der Seite (mitScaleTo()
) habe ich zunächst dieGrid.BackgroundColor
zuColor.Transparent
oderColor.White
und dann, sobald die animation fertig ist, ändere ich es umColor.Black
. Hat funktioniert ziemlich gut so weit.InformationsquelleAutor der Antwort hvaughan3
InformationsquelleAutor der Antwort Abdullah Tahan
Wenn Sie möchten, eine Lösung mit mehr Gleichheit in Grenzen, als Daniel Luberda IST anwser, hier ist was ich benutzt habe :
Machen ein Raster, in dem element haben Grenzen. Setzen Sie den Abstand zwischen colomns und Reihen auf 0 ein. Für jedes element des Gitters stellen Sie ein weiteres Gitter mit einer Boxview, und Ihren Blick auf die top-Boxview. Dann,setzen Sie jedes BoxView zu füllen und zu erweitern. Dann passen Sie die Polsterung von diesen "unter"-Netze, wie Sie möchten. Jedes element des Rasters getrennt werden equaly.
Dies ist ziemlich schwer, obwohl.
InformationsquelleAutor der Antwort Francis R.