基本数据绑定(Xamarin Forms)

时间:2016-07-20 18:08:19

标签: c# xamarin binding xamarin.forms

我试图在Xamarin表单中实现最基本的数据绑定形式,尽管我在代码中设置的文本根本没有显示在标签上。任何指针都会很棒。

CS

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;

namespace XamarinOuderportaal
{
    public partial class LoginPage : ContentPage
    {
        public string UsernamePlaceHolder { get; set; }
        public string PasswordPlaceHolder { get; set; }

        public LoginPage()
        {
            this.UsernamePlaceHolder = "gebruikersnaam";
            this.PasswordPlaceHolder = "wachtwoord";
            InitializeComponent();
        }
    }
}

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:XamarinOuderportaal"
             x:Class="XamarinOuderportaal.LoginPage">

  <StackLayout VerticalOptions="Center" HorizontalOptions="Fill" Spacing="20" Padding="20">
    <Entry Placeholder="This is the placeholder" HorizontalOptions="Fill" IsVisible="{Binding ShouldDisplayUrl}"/>
    <Entry Placeholder="{Binding UsernamePlaceHolder}" HorizontalOptions="Fill"/>
    <Entry Placeholder="{Binding PasswordPlaceHolder}" HorizontalOptions="Fill" IsPassword="true"/>
    <Button Text="test 2" HorizontalOptions="Fill"/>
  </StackLayout>
</ContentPage>

2 个答案:

答案 0 :(得分:2)

在viewmodel文件中为成员变量分配bindingcontext和onpropertychange事件

检查Xamarin绑定的基础  http://www.c-sharpcorner.com/article/quick-start-tutorial-creating-universal-apps-via-xamarin-binding-in-xaml-par/

答案 1 :(得分:0)

Binding寻找源对象的实例,因此属性不能是静态的。

如果要使用静态绑定,则必须使用静态扩展名:

<Entry Placeholder="{x:Static local:LoginPage.UsernamePlaceHolder}" HorizontalOptions="Fill"/>

编辑:您已编辑了问题并删除了“静态”定义,因此代码必须立即生效。