|
|
@@ -23,55 +23,55 @@ namespace QuestPDF.Previewer
|
|
|
get => GetValue(DocumentProperty);
|
|
|
set => SetValue(DocumentProperty, value);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
public static readonly StyledProperty<float> CurrentScrollProperty = AvaloniaProperty.Register<PreviewerWindow, float>(nameof(CurrentScroll));
|
|
|
-
|
|
|
+
|
|
|
public float CurrentScroll
|
|
|
{
|
|
|
get => GetValue(CurrentScrollProperty);
|
|
|
set => SetValue(CurrentScrollProperty, value);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public static readonly StyledProperty<float> ScrollViewportSizeProperty = AvaloniaProperty.Register<PreviewerWindow, float>(nameof(ScrollViewportSize));
|
|
|
-
|
|
|
+
|
|
|
public float ScrollViewportSize
|
|
|
{
|
|
|
get => GetValue(ScrollViewportSizeProperty);
|
|
|
set => SetValue(ScrollViewportSizeProperty, value);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public static readonly StyledProperty<bool> VerticalScrollbarVisibleProperty = AvaloniaProperty.Register<PreviewerWindow, bool>(nameof(VerticalScrollbarVisible));
|
|
|
-
|
|
|
+
|
|
|
public bool VerticalScrollbarVisible
|
|
|
{
|
|
|
get => GetValue(VerticalScrollbarVisibleProperty);
|
|
|
set => SetValue(VerticalScrollbarVisibleProperty, value);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
public PreviewerWindow()
|
|
|
{
|
|
|
InitializeComponent();
|
|
|
|
|
|
- ScrollViewportSizeProperty.Changed.Subscribe(_ =>
|
|
|
- {
|
|
|
- VerticalScrollbarVisible = ScrollViewportSize < 1;
|
|
|
- });
|
|
|
-
|
|
|
+ ScrollViewportSizeProperty.Changed
|
|
|
+ .Subscribe(e => Dispatcher.UIThread.Post(() =>
|
|
|
+ {
|
|
|
+ VerticalScrollbarVisible = e.NewValue.Value < 1;
|
|
|
+ }));
|
|
|
+
|
|
|
// this.FindControl<Button>("GeneratePdf")
|
|
|
// .Click += (_, _) => _ = PreviewerUtils.SavePdfWithDialog(Document, this);
|
|
|
|
|
|
DocumentProperty.Changed.Subscribe(v => Task.Run(() => DocumentRenderer.UpdateDocument(v.NewValue.Value)));
|
|
|
- HotReloadManager.UpdateApplicationRequested += (_, _) => InvalidatePreview();
|
|
|
+ HotReloadManager.UpdateApplicationRequested += InvalidatePreview;
|
|
|
}
|
|
|
|
|
|
- private void InitializeComponent()
|
|
|
+ protected override void OnClosed(EventArgs e)
|
|
|
{
|
|
|
- AvaloniaXamlLoader.Load(this);
|
|
|
+ HotReloadManager.UpdateApplicationRequested -= InvalidatePreview;
|
|
|
+ base.OnClosed(e);
|
|
|
}
|
|
|
|
|
|
+ private void InvalidatePreview(object? sender, EventArgs e) => InvalidatePreview();
|
|
|
private void InvalidatePreview()
|
|
|
{
|
|
|
Dispatcher.UIThread.Post(() =>
|
|
|
@@ -80,5 +80,10 @@ namespace QuestPDF.Previewer
|
|
|
_ = Task.Run(() => DocumentRenderer.UpdateDocument(document));
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
+ private void InitializeComponent()
|
|
|
+ {
|
|
|
+ AvaloniaXamlLoader.Load(this);
|
|
|
+ }
|
|
|
}
|
|
|
}
|