|
|
@@ -154,14 +154,28 @@ internal partial class DFMultiImageFieldControl : DigitalFormFieldControl<DFLayo
|
|
|
_value.Remove(value);
|
|
|
ChangeField();
|
|
|
}) : null;
|
|
|
+ var saveCommand = _isEnabled ? new RelayCommand<byte[]>(data =>
|
|
|
+ {
|
|
|
+ value.Data = data;
|
|
|
+ value.ID = Guid.Empty;
|
|
|
+ value.Thumbnail = data is not null && data.Length > 0 ? PlatformTools.ImageTools.CreateThumbnail(data, 256, 256) : null;
|
|
|
+ ChangeField();
|
|
|
+ }) : null;
|
|
|
+ void CustomiseViewerModel(ImageViewerViewModel model)
|
|
|
+ {
|
|
|
+ model.Data = value.Data!;
|
|
|
+ model.DeleteCommand = deleteCommand;
|
|
|
+ model.CanEdit = Field.Properties.Editable && _isEnabled;
|
|
|
+ model.SaveCommand = saveCommand;
|
|
|
+ model.CustomiseEditor = editor =>
|
|
|
+ {
|
|
|
+ editor.PrimaryBrush = new SolidColorBrush(Colors.Red);
|
|
|
+ };
|
|
|
+ }
|
|
|
|
|
|
if(value.Data is not null && value.Data.Length > 0)
|
|
|
{
|
|
|
- Navigation.Navigate<ImageViewerViewModel>(model =>
|
|
|
- {
|
|
|
- model.Data = value.Data;
|
|
|
- model.DeleteCommand = deleteCommand;
|
|
|
- });
|
|
|
+ Navigation.Navigate<ImageViewerViewModel>(CustomiseViewerModel);
|
|
|
}
|
|
|
else if(value.ID != Guid.Empty)
|
|
|
{
|
|
|
@@ -170,11 +184,7 @@ internal partial class DFMultiImageFieldControl : DigitalFormFieldControl<DFLayo
|
|
|
data =>
|
|
|
{
|
|
|
value.Data = data;
|
|
|
- Navigation.Navigate<ImageViewerViewModel>(model =>
|
|
|
- {
|
|
|
- model.Data = value.Data;
|
|
|
- model.DeleteCommand = deleteCommand;
|
|
|
- });
|
|
|
+ Navigation.Navigate<ImageViewerViewModel>(CustomiseViewerModel);
|
|
|
});
|
|
|
}
|
|
|
}
|