Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
xamarin基于代码隐藏的屏幕设计_Xamarin_Code Behind - Fatal编程技术网

xamarin基于代码隐藏的屏幕设计

xamarin基于代码隐藏的屏幕设计,xamarin,code-behind,Xamarin,Code Behind,我是xamarin的新手。我正在尝试以xamarin的形式创建手风琴控件。我也创建了。在开始阶段,我只放置了这样的按钮和标签 为了演示的目的。这是我从代码背后绑定的。像这样 var vViewLayout1 = new StackLayout() { Children = { new Label { Text = "Regular Board Meeting",HorizontalOptions=La

我是xamarin的新手。我正在尝试以xamarin的形式创建手风琴控件。我也创建了。在开始阶段,我只放置了这样的按钮和标签

为了演示的目的。这是我从代码背后绑定的。像这样

 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);//这是视图要跨越的行数