昨夜、Xamarinフォームでラベル値を更新する方法を試すのに5時間を費やしましたが、どこにも行きませんでした。Xamarinフォーム - ラベル値を更新する
私の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" x:Class="Meditation.HomePage">
<ContentPage.Content>
<Button Text="{Binding SelectedSound}" HorizontalOptions="Center" VerticalOptions="CenterAndExpand" Clicked="OnButtonClicked" />
</ContentPage.Content>
私のメインページクラスは次のようになります。
using System;
using System.Collections.Generic;
using Xamarin.Forms;
namespace Meditation
{
public partial class HomePage : ContentPage
{
public String SelectedSound { get; set; }
public HomePage()
{
InitializeComponent();
this.Title = AppInfo.AppName;
}
protected override void OnAppearing()
{
ShowSelectedSound();
BindingContext = this;
}
protected override void OnDisappearing()
{
DependencyService.Get<IAudio>().StopAudio();
}
// User Actions
void OnButtonClicked(object sender, EventArgs args)
{
Navigation.PushAsync(new SoundSelectionPage());
}
// Private
private void ShowSelectedSound()
{
if (Application.Current.Properties.ContainsKey(AppInfo.keySoundSelected))
{
SelectedSound = Application.Current.Properties[AppInfo.keySoundSelected] as string;
}
else
{
this.SelectedSound = "Choose sound";
}
}
}
}
ボタンが正しくページ「選択した音のようなテキストを示してい最初の負荷。しかし、このページに戻ると、application.current.propertiesキー値が存在するときにテキストを更新できません。
誰かが、ページが最初に読み込まれていて進行中でないときに、そのラベルが更新されるように見える理由を知っています。さらに重要なのは、ボタンテキストを最初に設定した後に更新するコードを誰でも提供できることですか?
あなたは 'SelectSoundButtonText'にバインドしていますが、プロパティ名は' SelectedSound'です。それは誰ですか? – esiprogrammer
申し訳ありません。それはタイプミス(問題の更新)でした。問題はまだ顕著です。ページが最初にロードされると、テキストが表示されますが、その後は更新されません。 –