Window.WindowState
の値に基づいてコンテンツを設定するトリガーを使用して、ボタンにスタイルを与えます。これはイベントではありません。このボタンは、ウィンドウの現在の状態を反映します。
<Style TargetType="Button">
<Style.Triggers>
<DataTrigger
Binding="{Binding WindowState, RelativeSource={RelativeSource AncestorType=Window}}"
Value="Maximized">
<Setter Property="Content">
<Setter.Value>
<!-- I don't know if you're using a Path or what -->
<Path Stroke="White" Data="..." />
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger
Binding="{Binding WindowState, RelativeSource={RelativeSource AncestorType=Window}}"
Value="Normal">
<Setter Property="Content">
<Setter.Value>
<!-- I don't know if you're using a Path or what -->
<Path Stroke="White" Data="..." />
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
それらのパスのそれぞれのコピーは1つだけありますので、代わりにボタンのテンプレートを設定する方が賢明だろう、とあなたが二回スタイルを再利用した場合、彼らが共有することはできません。
これがあなたのコードではうまくいかない理由がある場合は、あなたのコードを見せてください。
別の制御イベントを言うときには必ずしも確実ではありません。しかし、一般的なイベント処理のためのWPFでは、コマンド(保存、切り取り、コピー、貼り付けなど)を使用して通常実装されます。 (https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/commanding-overview) – Viju
私は、ウィンドウの 'WindowState'プロパティでトリガーしたいと思っています。これは状態であり、イベントではありません。疑問は、もちろん、どのようにこれを実装しているかです。私はそれについて何のヒントも見ません。 –
@Vijuこの場合、ウィンドウのトップバーがDoubleClickedの場合、最大化ボタンの内容は変更する必要があります。 – Belfed