【发布时间】:2018-12-07 09:57:53
【问题描述】:
我有一个只有一行高度为 GridLength.Star 的网格。 在第一列中,我有一个填充单元格的 svg。 在第二列中,我有一个标签。
svg 是一个正方形,应该在垂直和水平方向上填充它,但不能更多。 标签应占宽度的其余部分。
我试着设置
column1.Width = GridLength.Auto;
column2.Width = GridLength.Star;
但总会在中间分开。
所以我得到了:
svg........|标签........
而不是(我想要的):
svg|标签........
有什么想法吗?
更新
Label label = new Label();
SvgCachedImage svgImage = new SvgCachedImage();
svgImage.HorizontalOptions = LayoutOptions.CenterAndExpand;
svgImage.VerticalOptions = LayoutOptions.CenterAndExpand;
Grid grid = new Grid();
grid.Children.Add( svgImage );
grid.Children.Add( label );
RowDefinition row = new RowDefinition();
ColumnDefinition column1 = new ColumnDefinition();
ColumnDefinition column2 = new ColumnDefinition();
row.Height = GridLength.Star;
grid.RowDefinitions = new RowDefinitionCollection { row1 };
column1.Width = GridLength.Auto;
column2.Width = GridLength.Star;
grid.ColumnDefinitions = new ColumnDefinitionCollection { column1, column2 };
更新 2
抱歉,它不是 Fill,而是 CenterAndExpand
【问题讨论】:
-
您的 SVG 有多大?占满一半吗?
-
svg 的大小无关紧要,因为它总是填充第一个单元格,因此它会修改其大小。
-
您能展示一下您当前的网格设置 (XAML/C#) 吗?
标签: xamarin xamarin.forms grid