Xamarin Forms 将属性绑定到标签的文本
Posted
技术标签:
【中文标题】Xamarin Forms 将属性绑定到标签的文本【英文标题】:Xamarin Forms bind property to label's text 【发布时间】:2016-12-30 10:22:09 【问题描述】:我有 Xamarin Forms xaml:
// 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:BlankAppXamlXamarinForms"
x:Class="BlankAppXamlXamarinForms.MainPage">
<Label Text="Binding myProperty" />
</ContentPage>
我还有代码:
// MainPage.xaml.cs
namespace BlankAppXamlXamarinForms
public partial class MainPage : ContentPage
public string myProperty= "MY TEXT";
public MainPage()
InitializeComponent();
BindingContext = this;
它应该将 myProperty 绑定到标签的文本。但是,标签中没有显示任何内容。如何将 myProperty 绑定到标签的文本? (我知道我应该使用 ViewModel 来通知视图有关属性的更改,但在此示例中,我真的只想将 myProperty 从后面的代码绑定到标签)
【问题讨论】:
【参考方案1】:您需要声明您可以“获取”该变量。
public string myProperty get; = "MY TEXT";
如果你真的想在代码中改变这个变量,你的类需要实现 INotifyPropertyChanged,否则它总是“MY TEXT”
【讨论】:
...您必须在更改内容后调用 'OnPropertyChanged(nameof(myProperty));* INotifyPropertyChanged 在我的情况下不需要,但@copa017 是的,这很关键。谢谢! 嘿@robbpriestley,你为什么不添加INotifyPropertyChanged
以上是关于Xamarin Forms 将属性绑定到标签的文本的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Xamarin Forms 中的数据绑定指定的位置放置文本
用于绑定的 Xamarin.Forms MarkupExtension