Я экспериментирую с Призмой и ксамарином, но мне кажется, что я даже не обновляю свою собственность, и я не понимаю, почему. Я перехожу на эту страницу с, и заголовок должен быть обновлен, но вместо этого это пустая строка. Может кто-нибудь объяснить, почему он не обновляется? Спасибо!
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:prism="http://prismlibrary.com"
prism:ViewModelLocator.AutowireViewModel="True"
x:Class="CardGame.Mobile.Views.GamePage">
<StackLayout Padding="10, 20">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1*" />
<RowDefinition Height="2*" />
<RowDefinition Height="2*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Label Text="{Binding Title, Mode=TwoWay}"
FontSize="Large"
HorizontalOptions="FillAndExpand"
Grid.Column="0"
Grid.Row="0"/>
<Image Source="AC.png"
Grid.Column="0"
Grid.Row="1"
Scale="0.2"
Aspect="AspectFit" />
<Image Source="AC.png"
Grid.Column="0"
Grid.Row="2"
HorizontalOptions="Fill"
VerticalOptions="Fill"/>
</Grid>
</StackLayout>
</ContentPage>
Мой MVVM
public class GamePageViewModel : BindableBase, INavigationAware
{
private SingleGameManager _gameManager;
public string PlayerName { get; set; }
private string _title;
public string Title
{
get { return _title; }
set
{
SetProperty(ref _title, value);
RaisePropertyChanged();
}
}
public GamePageViewModel()
{
}
public void OnNavigatedFrom(INavigationParameters parameters)
{
}
public void OnNavigatedTo(INavigationParameters parameters)
{
PlayerName = parameters.GetValue<string>("PlayerName");
_gameManager = new SingleGameManager(PlayerName);
_gameManager.StartRound();
Title = $"Welcome {PlayerName}! Round {_gameManager.Round}!";
}
}
Как вы видите на моем свойстве, я вызываю RaisePropertyChanged, но он не выполняется, я думаю?