From 40aba9eed11a2fd1bdbe847d23e71f235c37e9cd Mon Sep 17 00:00:00 2001 From: Satoshi Nakamura Date: Wed, 11 Nov 2020 18:19:17 +0900 Subject: [PATCH] implement cell reload --- README-ja.md | 5 +++++ README.md | 5 +++++ .../Sample/ViewModels/SurveyPageViewModel.cs | 19 +++++++++++++++++++ Sample/Sample/Views/SurveyPage.xaml | 16 +++++++++++++--- Sample/Sample/Views/SurveyPage.xaml.cs | 8 ++++++++ SettingsView.Droid/FormsViewContainer.cs | 6 ++++++ SettingsView.iOS/Cells/CustomCellContent.cs | 4 +++- SettingsView/Cells/CellBase.cs | 17 +++++++++++++++++ SettingsView/Cells/CustomCell.cs | 7 +++++++ nuget/AzurePipelines.nuspec | 1 + 10 files changed, 84 insertions(+), 4 deletions(-) diff --git a/README-ja.md b/README-ja.md index 2b50bc9..cf2cf77 100644 --- a/README-ja.md +++ b/README-ja.md @@ -452,6 +452,11 @@ public class Option * IsEnabled * セルを有効にするかどうか。無効にした場合はセル全体の色が薄くなり操作を受け付けなくなります。 +### メソッド + +* Reload + * セルを強制的にリロードします。CustomCell等で動的に内容を変更した後などに使用します。 + ### SVGイメージを使用するには SvgImageSourceのnugetパッケージをインストールすればSVG画像を使用できるようになります。 diff --git a/README.md b/README.md index c078386..097d495 100644 --- a/README.md +++ b/README.md @@ -449,6 +449,11 @@ public class Option * IsEnabled * Whether a cell is enabled. If set to false, the entire cell color will turn translucent and the cell won't accept any operations. +### Methods + +* Reload + * Reload forcely the cell. This is used after dynamically changing the contents of a cell, such as Custom Cell. + ### To use SVG image You can use SVG image if SvgImageSource is installed. diff --git a/Sample/Sample/ViewModels/SurveyPageViewModel.cs b/Sample/Sample/ViewModels/SurveyPageViewModel.cs index 7a37a35..aada833 100644 --- a/Sample/Sample/ViewModels/SurveyPageViewModel.cs +++ b/Sample/Sample/ViewModels/SurveyPageViewModel.cs @@ -3,12 +3,15 @@ using System.Collections.ObjectModel; using Prism.Mvvm; using Prism.Navigation; +using Reactive.Bindings; namespace Sample.ViewModels { public class SurveyPageViewModel:BindableBase, INavigatedAware { public ObservableCollection ItemsSource { get; set; } + public ReactivePropertySlim Text { get; } = new ReactivePropertySlim(); + public ReactiveCommand ChangeCommand { get; } = new ReactiveCommand(); public SurveyPageViewModel() { @@ -17,6 +20,22 @@ public SurveyPageViewModel() new Hoge{Name="B",Value=2}, new Hoge{Name="C",Value=3} }); + + Text.Value = "テキスト"; + + var toggle = true; + ChangeCommand.Subscribe(_ => { + if (toggle) + { + Text.Value = "テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト"; + } + else + { + Text.Value = "テキスト"; + } + toggle = !toggle; + }); + } public void OnNavigatedFrom(NavigationParameters parameters) diff --git a/Sample/Sample/Views/SurveyPage.xaml b/Sample/Sample/Views/SurveyPage.xaml index 9219fdf..1c977d6 100644 --- a/Sample/Sample/Views/SurveyPage.xaml +++ b/Sample/Sample/Views/SurveyPage.xaml @@ -5,8 +5,18 @@ xmlns:sv="clr-namespace:AiForms.Renderers;assembly=SettingsView" x:Class="Sample.Views.SurveyPage"> + + + + + + + - - - +