Hi
My layoutgrid is 2 columns, 4 rows and Im seeing the control ignoring both width and ProportionalHeightWeight settings I set.
Rather than 20:80 I'm seeing 50:50 for columns, rather than 10:10:70:10 for rows I'm seeing 25:25:25:25.
What am I missing please?
001.
private
void
CreateElements()
002.
{
003.
_layoutPanel =
new
GridLayout();
004.
_layoutPanel.Columns.Clear();
005.
_layoutPanel.Rows.Clear();
006.
007.
//add columns
008.
_layoutPanel.Columns.Add(
new
GridLayoutColumn()
009.
{
010.
SizingType = GridLayoutSizingType.Proportional,
011.
ProportionalWidthWeight = 20
012.
});
013.
_layoutPanel.Columns.Add(
new
GridLayoutColumn()
014.
{
015.
SizingType = GridLayoutSizingType.Proportional,
016.
ProportionalWidthWeight = 80
017.
});
018.
019.
// Add rows
020.
CreateTitleRow();
021.
CreateImageRow();
022.
CreateTimeRow();
023.
CreateBeginRow();
024.
025.
// Add rows to the layout
026.
_layoutPanel.Rows.Add(_titleRow);
027.
_layoutPanel.Rows.Add(_imageRow);
028.
_layoutPanel.Rows.Add(_timeRow);
029.
_layoutPanel.Rows.Add(_beginRow);
030.
031.
// Add items to the panel
032.
_layoutPanel.Children.Add(_planTitle);
033.
_layoutPanel.Children.Add(_planImage);
034.
_layoutPanel.Children.Add(_totalTime);
035.
_layoutPanel.Children.Add(_beginButton);
036.
037.
// Add layout panel to children
038.
Children.Add(_layoutPanel);
039.
}
040.
041.
private
void
CreateTitleRow()
042.
{
043.
_titleRow =
new
GridLayoutRow();
044.
_titleRow.SizingType = GridLayoutSizingType.Proportional;
045.
_titleRow.ProportionalHeightWeight = 10;
046.
047.
// Set the title of the plan 0,0
048.
_planTitle =
new
LightVisualElement();
049.
_planTitle.SetValue(GridLayout.ColSpanProperty, 2);
050.
_planTitle.SetValue(GridLayout.ColumnIndexProperty, 0);
051.
_planTitle.SetValue(GridLayout.RowIndexProperty, 0);
052.
_planTitle.AutoEllipsis =
true
;
053.
_planTitle.TextAlignment = ContentAlignment.MiddleLeft;
054.
_planTitle.Text = _wplan ==
null
?
"Free"
:
string
.Format(
"{0} {1}"
, _index, _wplan.PlanName);
055.
}
// function
056.
057.
private
void
CreateImageRow()
058.
{
059.
_imageRow =
new
GridLayoutRow();
060.
_imageRow.SizingType = GridLayoutSizingType.Proportional;
061.
_imageRow.ProportionalHeightWeight = 70;
062.
063.
// Image 0,1
064.
_planImage =
new
LightVisualElement();
065.
_planImage.SetValue(GridLayout.ColSpanProperty, 2);
066.
_planImage.SetValue(GridLayout.ColumnIndexProperty, 0);
067.
_planImage.SetValue(GridLayout.RowIndexProperty, 1);
068.
_planImage.BackgroundImageLayout = ImageLayout.Stretch;
069.
_planImage.BackgroundImage = _backImage;
070.
}
// function
071.
072.
private
void
CreateTimeRow()
073.
{
074.
_timeRow =
new
GridLayoutRow();
075.
_timeRow.SizingType = GridLayoutSizingType.Proportional;
076.
_timeRow.ProportionalHeightWeight = 10;
077.
078.
// Total time 0,2 and 1,2
079.
_totalTime =
new
LightVisualElement();
080.
_totalTime.AutoEllipsis =
true
;
081.
_totalTime.SetValue(GridLayout.ColumnIndexProperty, 1);
082.
_totalTime.SetValue(GridLayout.RowIndexProperty, 2);
083.
_totalTime.Text = _wplan ==
null
?
"-hr -mins"
: _wplan.CreationDate.ToLongDateString();
084.
}
// function
085.
086.
087.
private
void
CreateBeginRow()
088.
{
089.
_beginRow =
new
GridLayoutRow();
090.
_beginRow.SizingType = GridLayoutSizingType.Proportional;
091.
_beginRow.ProportionalHeightWeight = 10;
092.
093.
// Begin button 0,3
094.
_beginButton =
new
LightVisualElement();
095.
_beginButton.SetValue(GridLayout.ColSpanProperty, 2);
096.
_beginButton.SetValue(GridLayout.ColumnIndexProperty, 0);
097.
_beginButton.SetValue(GridLayout.RowIndexProperty, 3);
098.
_beginButton.AutoEllipsis =
true
;
099.
_beginButton.Text =
"Begin Workout"
;
100.
}
// function