Xamarin ContentView привязка
Я пытаюсь создать элемент управления, используя это руководство, но заголовок, который я устанавливаю в XAML для своего CustomView, не отображается. Вот код:
CustomView.xaml
<?xml version="1.0" encoding="UTF-8"?>
<ContentView x:Class="TestApp.CustomView"
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Name="this">
<Label Text="{x:Binding Source={x:Reference this}, Path=Caption}" />
</ContentView>
CustomView.xaml.cs
public partial class CustomView : ContentView
{
public static readonly BindableProperty CaptionProperty = BindableProperty.Create(
nameof(Caption),
typeof(string),
typeof(CustomView),
string.Empty);
public string Caption
{
get => (string)GetValue(CaptionProperty);
set => SetValue(CaptionProperty, value);
}
public CustomView()
{
InitializeComponent();
}
}
Я использую CustomView, как это:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:TestApp"
x:Class="TestApp.MainPage">
<ContentPage.Content>
<local:CustomView Caption="Test" />
</ContentPage.Content>
</ContentPage>
Но на экране ничего не отображается (без ярлыка "Тест").
Однако, если я изменю CustomView для наследования от StackLayout вместо ContentView, он будет работать как положено. Я не уверен, в чем здесь проблема (контекст или что-то еще?).
Изменить: Этот код на самом деле работает нормально... Я тестировал с Xamarin Live Player, и это оказалось реальной проблемой.