我想将ViewModel作为View类的一部分(它本身就是基于xaml的)。我使用的框架是Xamarian.Forms。
现在我尝试在xaml中对x:Name
根对象进行操作,然后设置绑定上下文以通过Name引用它。
MainPage.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"
xmlns:local="clr-namespace:App"
x:Class="App.MainPage"
x:Name="MainPageRoot">
<Label
BindingContext="{x:Reference Name=MainPageRoot}"
Text="{Binding Path=LabelText}"
VerticalOptions="Center"
HorizontalOptions="Center" />
</ContentPage>
我在MainPage.xaml.cs
:
namespace App
{
public partial class MainPage : ContentPage
{
public string LabelText;
public MainPage()
{
LabelText = "Wow, this works";
InitializeComponent();
}
}
}
但标签仍然是空的。
为什么这不起作用?我如何使用this
中的属性?
答案 0 :(得分:1)
问题是,LabelText
属性没有定义getter,这段代码有效:
public partial class MainPage : ContentPage
{
public string LabelText { get; }
public MainPage()
{
LabelText = "Wow, this works";
InitializeComponent();
}
}