나는 나의 편집 버튼이 어떻게 보일지를 정의하는 Button
템플릿이 있습니다WPF에서 템플릿을 사용할 때 버튼에 명령을 지정하는 방법은 무엇입니까?
<ControlTemplate x:Key="EditButton" TargetType="{x:Type Button}">
<Button Style="{StaticResource GrayOutButtonStyle}" >
<Image x:Name="editImage" Source="{StaticResource EditIcon}" />
</Button>
</ControlTemplate>
내가 (안 템플릿) 버튼을 만드는 곳 XAML에 Command
를 선언합니다. 나는 Button
에 Command
속성을 설정할 때, 무시되는 것 :
<Button Template="{StaticResource EditButton}"
Command="{Binding Source={StaticResource ViewModel}, Path=EditCommand}"
CommandParameter="{Binding}" />
내 구문 문제점은 무엇입니까?
(참고 :이 버튼에서 템플릿을 제거하면 Command
이 작동하므로 템플릿을 사용하는 것이 좋습니다.)
템플릿에서 Button을 제거하면 이미지 만 표시되므로 버튼 모양 안에 표시되지 않습니다. 내 버튼의 모양을 그 이미지가있는 버튼으로 만들고 GrayOutButtonStyle을 적용하고 싶습니다. 템플릿에 키가 설정되어 있으므로 재귀 적으로 적용되지 않는다고 생각합니다. Template = {정적 리소스 EditButton}을 명시 적으로 선언 한 경우에만 적용됩니다. 그게 맞지 않아? –
템플릿에서이 작업을 수행 할 수 있습니다 (CommandParamater 만 바인딩하면됩니다).
버튼에 이미지가 필요한 경우, "올바른 방법"은 템플릿을 전혀 사용하지 않고 내용으로 '이미지'가있는 'Button'을 선언하는 것입니다. 그렇지 않으면, 시작하기 좋은 곳은 기존의'Button' 템플릿을 복사하고 그것을 변경하는 것입니다. 블렌드가이를위한 최상의 도구입니다. XAMLPadX로 충분할 수 있습니다. –