表示倍率は 10%〜400% の範囲で変更できます。

設定する
control.Zoom = 1.5; // 150%
control.Zoom = 1.0; // 等倍
ZoomChanged イベントで変更を受け取れます。Ctrl + マウスホイールが既定で配線されており、
10% 刻みで変化します。
範囲外の値は自動的にクランプされます(GridViewport.MinZoom / MaxZoom)。
using unvell.ReoGrid.Core;
using unvell.ReoGrid.Core.Rendering;
viewport.Zoom = 1.5; // 150%。範囲外の値はクランプされる
// 可視範囲はズームを織り込んで算出される(表示サイズは論理ピクセルで渡す)
var (firstRow, lastRow) = viewport.VisibleRows(600);
var (firstCol, lastCol) = viewport.VisibleColumns(900);
純粋なビュー変換
ズームはモデルに一切影響しません。行高・列幅の値は変わらず、描画時にのみ倍率が適用されます。
| プラットフォーム | 実装 |
|---|---|
| WinForms | RenderScale = DpiScale × Zoom として物理ピクセルへ変換 |
| WPF / Avalonia | DIP 描画に ScaleTransform を適用 |
高 DPI 環境では、ディスプレイのスケーリングとズームが乗算されます。150% の Windows 表示設定で 150% ズームすると、実際の描画倍率は 225% になります。
印刷倍率とは別
画面のズームは印刷結果に影響しません。印刷の倍率は PrintSettings 側で指定します
(印刷とページ設定)。
エクスポート(PDF)も同様に、viewport.Zoom ではなく印刷設定に従います。
保存されません
表示倍率は実行時の状態であり、reogrid-json にも XLSX にも保存されません。 シートごとの倍率を保存する機能は今後の課題です。
制限
- Studio(デスクトップホスト)にはズーム操作の UI がまだありません