12,925
回編集
120行目: | 120行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
StackPanelのイベントの詳細を知りたい場合は、[https://reference.avaloniaui.net/api/Avalonia.Controls/StackPanel/#Events Avalonia UIの公式Webサイト]を参照すること。<br> | |||
<br><br> | |||
== 基本的なメソッド == | |||
<center> | |||
{| class="wikitable" | style="background-color:#fefefe;" | |||
|- | |||
! style="background-color:#00ffff;" | メソッド | |||
! style="background-color:#00ffff;" | 説明 | |||
|- | |||
| Children.Add<br>(要素追加) || StackPanelに子要素を動的に追加する。<br>例えば、実行時にユーザの操作に応じて、新しい要素を追加する場合などに使用する。<br> | |||
<syntaxhighlight lang="c#"> | |||
var button = new Button { Content = "新しいボタン" }; | |||
myStackPanel.Children.Add(button); | |||
</syntaxhighlight> | |||
|- | |||
| Children.Remove<br>(要素削除) || 指定した子要素をStackPanelから削除する。<br>例えば、特定の要素を動的に削除する必要がある場合に使用する。<br> | |||
<syntaxhighlight lang="c#"> | |||
if (myStackPanel.Children.Contains(targetElement)) | |||
{ | |||
myStackPanel.Children.Remove(targetElement); | |||
} | |||
</syntaxhighlight> | |||
|- | |||
| Children.Clear<br>(全要素削除) || StackPanel内の全ての子要素を削除する。<br>例えば、パネルの内容を完全にリセットする場合等に使用する。<br> | |||
<syntaxhighlight lang="c#"> | |||
myStackPanel.Children.Clear(); | |||
</syntaxhighlight> | |||
|- | |||
| FindControl<T><br>(要素検索) || 指定した型の子要素を検索する。<br>例えば、特定の子要素を名前で検索して操作する場合に使用する。<br> | |||
<syntaxhighlight lang="c#"> | |||
var targetButton = myStackPanel.FindControl<Button>("buttonName"); | |||
if (targetButton != null) | |||
{ | |||
targetButton.Content = "更新されたテキスト"; | |||
} | |||
</syntaxhighlight> | |||
|- | |||
| InvalidateVisual<br>(再描画要求) || StackPanelの視覚的な更新を要求する。<br>例えば、パネルの外観を手動で更新する必要がある場合に使用する。<br> | |||
<syntaxhighlight lang="c#"> | |||
myStackPanel.InvalidateVisual(); | |||
</syntaxhighlight> | |||
|- | |||
| BringIntoView<br>(表示位置調整) || StackPanelを視覚的に表示可能な位置までスクロールする。<br>例えば、スクロール可能なコンテナ内でパネルを確実に表示させる場合に使用する。<br> | |||
<syntaxhighlight lang="c#"> | |||
await myStackPanel.BringIntoView(); | |||
</syntaxhighlight> | |||
|} | |||
</center> | |||
<br> | |||
<u>※注意</u><br> | |||
<u>上表のメソッドはコードビハインドやビューモデルから呼び出すことができる。</u><br> | |||
<u>ただし、MVVMパターンを使用する場合は、可能な限りデータバインディングを使用することを推奨する。</u><br> | |||
<br> | |||
<u>例えば、Children.Addメソッドの代わりにItemsControlとコレクションを使用する等の方法がある。</u><br> | |||
<br> | |||
なお、操作によっては、UIスレッド上での実行が必要な場合がある。<br> | |||
<syntaxhighlight lang="c#"> | |||
await Dispatcher.UIThread.InvokeAsync(() => | |||
{ | |||
myStackPanel.Children.Add(newElement); | |||
}); | |||
</syntaxhighlight> | |||
<br> | |||
StackPanelのメソッドの詳細を知りたい場合は、[https://reference.avaloniaui.net/api/Avalonia.Controls/StackPanel/#Methods Avalonia UIの公式Webサイト]を参照すること。<br> | |||
<br><br> | <br><br> | ||