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>
그 경로의 각각의 사본이 있기 때문에, 대신 버튼의 템플릿을 설정하는 현명한 것, 당신은 두 번 스타일을 재사용 할 경우, 그들이 공유 할 수 없습니다.
이것이 코드에서 작동하지 않는 몇 가지 이유가있는 경우 코드를 보여주십시오.
다른 제어 이벤트를 말할 때 확실하지 않습니다. 하지만 일반적인 이벤트 처리를위한 WPF에서는 일반적으로 명령 (저장, 잘라 내기, 복사, 붙여 넣기 등)을 사용하여 구현됩니다. (https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/commanding-overview) – Viju
윈도우의'WindowState' 속성에 트리거를하고 싶습니다. 상태가 아니라 이벤트입니다. 질문은 물론, 당신이 이것을 구현하는 방법입니다. 나는 그것에 관한 어떤 힌트도 보지 못했다. –
@Viju이 경우 Window 상단 바가 DoubleClicked이면 최대화 단추 내용이 변경되어야합니다. – Belfed