13,005
回編集
70行目: | 70行目: | ||
|} | |} | ||
</center> | </center> | ||
<br><br> | |||
== Windowクラスの主要なメソッド == | |||
Avalonia UIにおいて、Windowクラスで使用可能な主要なメソッドを以下に示す。<br> | |||
<br> | |||
以下に示すメソッドを使用することにより、ウインドウの動作をカスタマイズして、ユーザインターフェースの制御を細かく行うことができる。<br> | |||
また、多くのメソッドはオーバーライド可能であり、独自の処理を追加することができる。<br> | |||
<br> | |||
* Show() | |||
*: ウインドウを表示する。 | |||
*: 例: this.Show(); | |||
*: <br> | |||
* Hide() | |||
*: ウインドウを非表示にする。 | |||
*: 例: this.Hide(); | |||
*: <br> | |||
* Close() | |||
*: ウイィンドウを閉じる。 | |||
*: 例: this.Close(); | |||
*: <br> | |||
* Activate() | |||
*: ウインドウをアクティブにして、前面に持ってくる。 | |||
*: 例: this.Activate(); | |||
*: <br> | |||
* ShowDialog<T>(Window owner) | |||
*: モーダルダイアログとしてウインドウを表示する。 | |||
*: 例: var result = await this.ShowDialog<bool>(owner); | |||
*: <br> | |||
* InitializeComponent() | |||
*: XAMLで定義されたコンポーネントを初期化する。 | |||
*: 例: this.InitializeComponent(); | |||
*: <br> | |||
* OnOpened(EventArgs e) | |||
*: ウインドウが開く時に呼び出される。 | |||
*: オーバーライド可能である。 | |||
*: <br> | |||
*: 例: | |||
*: <syntaxhighlight lang="c#"> | |||
protected override void OnOpened(EventArgs e) | |||
{ | |||
base.OnOpened(e); | |||
// カスタム処理 | |||
} | |||
</syntaxhighlight> | |||
*: <br> | |||
* OnClosed(EventArgs e) | |||
*: ウインドウが閉じられた時に呼び出される。 | |||
*: オーバーライド可能である。 | |||
*: 例: 上記のOnOpenedメソッドと同様である。 | |||
*: <br> | |||
* OnClosing(CancelEventArgs e) | |||
*: ウインドウが閉じられる直前に呼び出される。 | |||
*: キャンセル可能である。 | |||
*: <br> | |||
*: 例: | |||
*: <syntaxhighlight lang="c#"> | |||
protected override void OnClosing(CancelEventArgs e) | |||
{ | |||
if (UnsavedChanges) | |||
{ | |||
var result = MessageBox.Show("保存されていない変更があります。閉じますか?", "確認", MessageBoxButton.YesNo); | |||
e.Cancel = (result == MessageBoxResult.No); | |||
} | |||
base.OnClosing(e); | |||
} | |||
</syntaxhighlight> | |||
*: <br> | |||
* EnsureInitialized() | |||
*: ウインドウが初期化されていることを確認する。 | |||
*: 例: this.EnsureInitialized(); | |||
*: <br> | |||
* LayoutUpdated() | |||
*: レイアウトが更新されたときに呼び出される。 | |||
*: 例: this.LayoutUpdated += OnLayoutUpdated; | |||
*: <br> | |||
* GetPlatformHandle() | |||
*: プラットフォーム固有のウインドウハンドルを取得する。 | |||
*: 例: var handle = this.GetPlatformHandle(); | |||
*: <br> | |||
* SetSystemDecorations(SystemDecorations decorations) | |||
*: システムデコレーション (タイトルバー、ボーダー等) を動的に設定する。 | |||
*: 例: this.SetSystemDecorations(SystemDecorations.Full); | |||
*: <br> | |||
* BeginMoveDrag() | |||
*: ウインドウの移動操作を開始する。 | |||
*: 例: this.BeginMoveDrag(); | |||
*: <br> | |||
* BeginResizeDrag(WindowEdge edge) | |||
*: ウインドウのリサイズ操作を開始する。 | |||
*: 例: this.BeginResizeDrag(WindowEdge.SouthEast); | |||
*: <br> | |||
* SetPosition(PixelPoint point) | |||
*: ウインドウの位置を設定する。 | |||
*: 例: this.SetPosition(new PixelPoint(100, 100)); | |||
*: <br> | |||
* Maximize()、Minimize()、Restore() | |||
*: それぞれウインドウの最大化、最小化、元のサイズへの復元を行う。 | |||
*: 例: this.Maximize(); | |||
*: <br> | |||
* GetRenderer() | |||
*: ウインドウのレンダラーを取得する。 | |||
*: 例: var renderer = this.GetRenderer(); | |||
<br><br> | <br><br> | ||