修改使用XAML在后面的代码中创建的网格 - Xamarin.Forms

时间:2018-02-04 16:38:34

标签: c# xaml xamarin.forms

我正在创建一个跨平台的Xamarin.Forms应用。在页面中,我有以下列表视图。

<ListView.ItemTemplate>
    <DataTemplate>
        <ViewCell>
            <Grid x:Name="activityGrid">
                <Grid.RowDefinitions>
                    <RowDefinition Height="*" />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="2*" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>
                <Label Text="{Binding Name}" />
            </Grid>
        </ViewCell>
    </DataTemplate>
</ListView.ItemTemplate> 

在这里,您可以看到列表视图中的每个项目都有一行和两列。我定义的第一个标签将设置在Row=0Column=0中,因为这是默认设置。现在关于Row=0Column =1,我希望它是基于某些标准的Switch或Entry。这是我背后的代码。

foreach (var activity in activities)
{
    if (activity.Measurement == 0)
    {
        Switch yesNo = new Switch();
    }
    else
    {
        Entry measure = new Entry();
    }
}

现在帮我根据需要将子项添加到网格布局中。

1 个答案:

答案 0 :(得分:1)

要以编程方式将控件添加到网格,请执行以下操作:

activityGrid.Children.Add(control, col, row);