Я новичок и учусь разрабатывать кроссплатформенное приложение в формах xamarin в Visual Studio 2015. У меня есть stackLayout, в котором присутствуют такие элементы, как Label и кнопка «ОК». Я хочу добавить новую метку под кнопкой «ОК» при нажатии кнопки «ОК» (динамическое добавление элемента управления). Но когда я это делаю, новая кнопка добавляет метку, но существующие элементы управления (метка и кнопка) исчезают куда-то. Я где-то ошибаюсь? Пожалуйста, помогите мне решить эту проблему. [Прикрепленное изображение показывает мой результат] [1]
Изображение: [1]: https://i.stack.imgur.com/YLlQN.jpg< /а>
Ниже приведен код моего приложения.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
namespace Practise
{
public partial class Page2 : ContentPage
{
public Page2 ()
{enter code here
InitializeComponent ();
}
private void OkButton_Clicked(object sender, EventArgs e)
{
var layout = new StackLayout();
var label = new Label { Text = "This is a new label.", TextColor = Color.FromHex("#77d065"), FontSize = 30, TranslationY = 30 };
this.Content = layout;
layout.Children.Add(label);
}
}
}
XAML-код:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Practise.Page2" Title="App1">
<StackLayout>
<Label Text="Click to add new label" HorizontalOptions="Center" TranslationY="45" FontSize="Medium"/>
<Button x:Name="OkButton" Clicked="OkButton_Clicked" Text="Ok" HorizontalOptions="Center" WidthRequest="100" VerticalOptions="Center" HeightRequest="45" TranslationY="60"/>
</StackLayout>
</ContentPage>
Спасибо