如何在xamarin-forms基于xaml的视图类

时间:2016-09-04 15:39:37

标签: xaml xamarin.forms

我想将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中的属性?

1 个答案:

答案 0 :(得分:1)

问题是,LabelText属性没有定义getter,这段代码有效:

public partial class MainPage : ContentPage
{
    public string LabelText { get; }

    public MainPage()
    {
        LabelText = "Wow, this works";
        InitializeComponent();
    }
}