'How to render the changes in view from view model in Xamarin forms
I tried several things like adding
Device.BeginInvokeOnMainThread(async () =>
{
Title = TableCategory.name;
});
but didn't work. my viewmodel looks like this
private string _title;
public string Title
{
get
{
return _title;
}
set
{
if (_title != value)
{
_title = value;
OnPropertyChanged(nameof(Title));
}
}
}
every time I select data from my collectionView below function will set data to Title and what I want is to rendered the data present in Title directly to View.
async Task TableSelected(object obj)
{
TableCategory = (TableCategory)obj;
Device.BeginInvokeOnMainThread(async () =>
{
Title = TableCategory.name;
await App.Current.MainPage.DisplayAlert("Success", $"{Title}", "Ok");
});
await PopupNavigation.Instance.PopAsync();
}
My XAML code looks like this:
Text="{Binding Title,Mode=TwoWay}"
HeightRequest="20"
VerticalOptions="Center"
TextColor="#FF464859" FontSize="Small">
What can I try next?
Solution 1:[1]
Based on the details you provided in your question, I don't see any issues. Check that TableCategory.name and Title in the TableSelected method are different
It seems likely that the values for TableCategory.name/value and Title/_title would be the same after TableSelected, so the UI won't be different.
if (_title != value)
{
_title = value;
OnPropertyChanged(nameof(Title));
}
Please debug the above if (_title != value) condition in your code. Provide a minimal reproducible code sample if the issue still persists.
Solution 2:[2]
Does it work if you replace Title = TableCategory.name; with Title = "HardcodedName";?
If that works, then something is wrong with TableCategory.name.
If that does not work, then remove await PopupNavigation.Instance.PopAsync();.
Important: any code inside of BeginInvokeOnMainThread gets executed AFTER method TableSelected returns.
What is PopAsync supposed to be removing?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Rajarajan |
| Solution 2 | ToolmakerSteve |
