Forge
csharpdeeb25a2
1#nullable enable
2
3namespace CascadeIDE.Views;
4
5public partial class MainWindow
6{
7 private void EnsurePreviewWindow()
8 {
9 if (_previewWindow is not null)
10 return;
11 _previewVm = new ViewModels.MarkdownPreviewWindowViewModel();
12 _previewWindow = new MarkdownPreviewWindow { DataContext = _previewVm };
13 _previewWindow.Closed += (_, _) =>
14 {
15 _previewWindow = null;
16 _previewVm?.DetachFromEditor();
17 };
18 }
19
20 private void ShowMarkdownPreviewWindow(string title, string content)
21 {
22 EnsurePreviewWindow();
23 _previewVm!.SetContent(title, content);
24 _previewWindow!.Show(this);
25 _previewWindow.Activate();
26 }
27
28 private void ShowMarkdownPreviewForEditor()
29 {
30 if (DataContext is not ViewModels.MainWindowViewModel mainVm)
31 return;
32
33 EnsurePreviewWindow();
34 _previewVm!.AttachToEditor(mainVm);
35 _previewWindow!.Show(this);
36 _previewWindow.Activate();
37 }
38}
39
View only · write via MCP/CIDE