Xamarin forms listview не обновляется после редактирования/сохранения данных
У меня есть главная навигационная страница JobInfoPage с ListView, содержащая всю информацию о заданиях. Когда я нажимаю кнопку/изображение, оно показывает выбранную информацию о задании, то есть заметки и название задания. Когда я редактирую и сохраняю JobNotesPage, он обновляет задание, поданное в data, но не в ListView.
Я установил привязку к JobNotes в Xaml, и TwoBinding все еще не работает.
Может ли кто-нибудь предположить, что я делаю неправильно?
Исходный код можно загрузить с сайта
https://spaces.hightail.com/receive/g8rg2VWW6o[^]
Что я уже пробовал:
I set Binding to JobNotes in Xaml and TwoBinding Still not working.
<?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:UpdateNotes" x:Class="UpdateNotes.JobInfoPage"> <ContentPage.BindingContext> <local:JobInfoViewModel/> </ContentPage.BindingContext> <ContentPage.Resources> <ResourceDictionary> <local:NotesConverter x:Key="NotesConverter"/> <local:RemarksConverter x:Key="RemarksConverter"/> </ResourceDictionary> </ContentPage.Resources> <ContentPage.Content> <StackLayout HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"> <ListView x:Name="JobsList" ItemsSource="{Binding JobsInfo, Mode=TwoWay}" HasUnevenRows="True" Margin="0" > <ListView.ItemTemplate> <DataTemplate > <ViewCell > <StackLayout HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" Padding="5,0,5,0" Margin="0" > <StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand" Padding="0,0,0,0" Margin="0,0,0,-3"> <Label Text="{Binding JobNumber}" /> <Label Text="05-07-2017" HorizontalOptions="EndAndExpand" /> </StackLayout> <Label Text="{Binding JobName}" FontAttributes="Bold" Margin="0,-3,0,-3" TextColor="Black" VerticalOptions="StartAndExpand" /> <Label Text="{Binding JobNotes, Mode=TwoWay}" TextColor="Black" Margin="0,-3,0,-3" HorizontalOptions="FillAndExpand" VerticalOptions="StartAndExpand" FontSize="Micro" IsVisible="{Binding Converter={StaticResource NotesConverter}}" FontAttributes="Italic" BackgroundColor="LightYellow" /> <Label Text="{Binding JobRemarks, Mode=TwoWay}" TextColor="Black" Margin="0,-3,0,2" HorizontalOptions="FillAndExpand" VerticalOptions="StartAndExpand" FontSize="Micro" IsVisible="{Binding Converter={StaticResource RemarksConverter}}" FontAttributes="Italic" BackgroundColor="LightPink" /> </StackLayout> </ViewCell> </DataTemplate> </ListView.ItemTemplate> </ListView> <StackLayout Orientation="Horizontal" Margin="1" HorizontalOptions="StartAndExpand" VerticalOptions="Center"> <Image x:Name = "ViewJobText" Margin="10" Source="JobText.png" VerticalOptions="Center" HorizontalOptions="StartAndExpand"> <Image.GestureRecognizers> <TapGestureRecognizer Tapped="OnViewJobTextGestureTap" NumberOfTapsRequired="1" /> </Image.GestureRecognizers> </Image> <Image x:Name = "ViewNotes" Margin="10" Source="Notes.png" VerticalOptions="Center" HorizontalOptions="StartAndExpand"> <Image.GestureRecognizers> <TapGestureRecognizer Tapped="OnViewNotesGestureTap" NumberOfTapsRequired="1" /> </Image.GestureRecognizers> </Image> <Image x:Name = "ViewRemarks" Margin="10" Source="Remarks.png" VerticalOptions="Center" HorizontalOptions="StartAndExpand"> <Image.GestureRecognizers> <TapGestureRecognizer Tapped="OnViewRemarksGestureTap" NumberOfTapsRequired="1" /> </Image.GestureRecognizers> </Image> <!--<Button Text="View Text" HeightRequest="20"/> <Button x:Name = "ViewNotes" HeightRequest="20" BackgroundColor="LightYellow" BorderWidth="0" Margin="0" Image="Notes.png" TextColor="Black" Clicked="ViewNotes_Clicked"/> <Button Text="View Remarks" HeightRequest="20" BackgroundColor="LightPink" TextColor="Black"/>--> </StackLayout> </StackLayout> </ContentPage.Content> </ContentPage>
использование системы;
использование системы.Коллекции.Общий;
использование System.Linq;
использование System.Text;
использование системы.Нарезание резьбы.Задачи;
использование системы.ИО;
использование системы.Отражение;
использование Xamarin.Формы;
использование Xamarin.Форм.Язык XAML;
пространство имен UpdateNotes
{
[XamlCompilation(XamlCompilationOptions.Компилировать)]
публичный частичный класс JobNotesPage : ContentPage
{
Трансляция файлового потока;
Строка pdfFileName;
public JobNotesPage (JobInfo Injob)
{
//Syncfusion.Лицензирование.SyncfusionLicenseProvider.RegisterLicense("NTk1M0AzMTM2MmUzMjJlMzBEbXMzR0Ziegtzzfqwofrtsnbvr3kvbjfcyw43d3vvoe9ecu9ocjrwrulfpq==");
этот.метод InitializeComponent();
BindingContext = Injob;
if (Injob != null)
{
pdfFileName = Injob.SectionCode + Injob.JobCode + ".PDF";
}
}
охраняемых переопределить недействительными OnAppearing()
{
база.Онаппеаринг();
если (прилож.Параметр Datapath является нулем)
{
App.DataPath = DependencyService.Get<igetdatapath>().GetDataPath();
}
//fileStream = typeof(приложение).GetTypeInfo().Собрание.В Разделе Getmanifestresourcestream("UpdateNotes.Активов.Д5.формат PDF");
//pdfViewerControl.MaximumZoomPercentage = 300;
если (!строка.IsNullOrEmpty(pdfFileName))
{
var filename = путь.Комбинат(Приложение.Пути к данным, pdfFileName);
если (файл.Существует(имя файла))
{
хранилище FileStream = новый хранилище FileStream(именем, содержит filemode.Открыть);
}
}
}
охраняемых переопределить недействительными OnDisappearing()
{
база.OnDisappearing();
файловый поток.Закрывать();
}
OnInsertImageGestureTap недействительным(объект отправителя, EventArgs в электронной)
{
// ручка крана
DisplayAlert("предупреждение", "это кнопка изображения", "ОК");
}
частная асинхронного NavigateButton_OnClicked недействительным(объект отправителя, EventArgs в электронной)
{
ждите навигации.PushAsync(новый JobInfoPage());
}
частная асинхронного OnSavNotesGestureTap недействительным(объект отправителя, EventArgs в электронной)
{
JobInfo Injob = BindingContext as JobInfo;
Injob.JobNotes = txtJobNotes.Текст;
ждите навигации.PushModalAsync(новый JobInfoPage());
}
}
}
Vincent Maverick Durano
Вы должны показать код здесь. Пожалуйста, обратите внимание, что не все имеют доступ к ссылке, которую вы предоставили, или она может быть нарушена по каким-то причинам.