xamarin基于代码隐藏的屏幕设计
我是xamarin的新手。我正在尝试以xamarin的形式创建手风琴控件。我也创建了。在开始阶段,我只放置了这样的按钮和标签 为了演示的目的。这是我从代码背后绑定的。像这样xamarin基于代码隐藏的屏幕设计,xamarin,code-behind,Xamarin,Code Behind,我是xamarin的新手。我正在尝试以xamarin的形式创建手风琴控件。我也创建了。在开始阶段,我只放置了这样的按钮和标签 为了演示的目的。这是我从代码背后绑定的。像这样 var vViewLayout1 = new StackLayout() { Children = { new Label { Text = "Regular Board Meeting",HorizontalOptions=La
var vViewLayout1 = new StackLayout()
{
Children = {
new Label { Text = "Regular Board Meeting",HorizontalOptions=LayoutOptions.Center },
new StackLayout
{
Spacing = 5,
Orientation = StackOrientation.Horizontal,
VerticalOptions= LayoutOptions.Center,
HorizontalOptions= LayoutOptions.End,
Children =
{
new Image { Source = "Chat.png"},
new Button { Text ="Reject",BackgroundColor = Color.Red,TextColor = Color.White},
new Button { Text ="Approve",BackgroundColor = Color.Green,TextColor = Color.White}
}
},
//new Label { Text = "Name : S Ravi Kumar" },
//new Label { Text = "Roles : Father,Trainer,Consultant,Architect" }
}
};
var vFirstAccord = new AccordionSource()
{
HeaderText = "ReportToBoardJune 1,2016",
HeaderTextColor = Color.White,
HeaderBackGroundColor = Color.Red,
ContentItems = vViewLayout1
};
return vResult;
但是我想显示这样的数据
所以,我如何从代码隐藏中创建它。我应该使用哪个控件来控制我用红色箭头高亮显示的框。boxview或xamarine中的任何其他可用控件,如表或其他任何东西
我刚开始使用xamarin。所以我对它的控件没有任何概念。任何建议或帮助都是必要的。提前谢谢。基于您将要使用网格的注释,现在您的问题是如何在代码隐藏文件中在网格周围创建边框 正如您所发现的,网格没有特定的边界属性。我已经做了几次,创建了一个简单的3x3网格,并在边缘周围放置了4个BoxView:
BoxView border()
{
BoxView res = new BoxView
{
Color = Color.Black,
HeightRequest = 4,
WidthRequest = 4
}
return res;
}
Grid gridWithBorder = new Grid
{
RowDefinitions =
{
new RowDefinition { Height = GridLength.Auto},
new RowDefinition { Height = GridLength.Auto},
new RowDefinition { Height = GridLength.Auto}
},
ColumnDefinitions =
{
new ColumnDefinition { Width = GridLength.Auto },
new ColumnDefinition { Width = GridLength.Auto },
new ColumnDefinition { Width = GridLength.Auto }
}
};
gridWithBorder.Children.Add(border(), 0, 3, 0, 1); //add top border
gridWithBorder.Children.Add(border(), 0, 1, 0, 3); // left border
gridWithBorder.Children.Add(border(), 0, 3, 2, 3); // bottom border
gridWithBorder.Children.Add(border(), 2, 3, 0, 3); // right
在此之后,我将布局的其余部分添加到第1行第1列我认为a将满足您对突出显示框的需求。您可以使用大小均匀的单元格配置3x3网格,并在需要的位置添加标签。那个API文档包含了一个从代码隐藏中使用网格的示例。。我用过。但如何从代码隐藏中创建边框呢?我找不到gridXamarin的边框属性。表单在每个视图中的属性往往非常有限。您可以使用自定义渲染器或自定义控件自己添加属性,或者,您可以将
网格
放在内容视图
中,设置背景色
和填充
属性以获得所需的结果。@Dylan:非常感谢您的建议和帮助……很快我就不了解您的结构了。您能简单地举个例子吗?我应该多拿两行定义和在我的网格结构中定义了列,我应该把boxview放在那里吗?@NeelamPrajapati是的,创建的两个额外的列和行被boxview占用了。在“gridWithBorder.Children.Add”行中,它指定要添加的视图、列、行以及它跨越的列数或行数。gridWithBorder.Children.Add(border(),0,3,0,1)//添加此0中的上边框是第3行是第列..没错。但之后的0和1是什么?子项。添加(border()//这是视图,0//这是列,3//这是视图要跨越的列数(即第0、1和2列),0//这是行,1);//这是视图要跨越的行数