가장 좋은 방법은 새 버튼 템플릿을 정의하는 것입니다. 당신의 UserControl.Resources 태그에 이것을 추가하면 작동합니다 : 당신이 표현 혼합을 사용하는 경우
<Button x:Name="NewAppointmentButton" Template="{StaticResource ButtonControlTemplate1}">
<TextBlock>X</TextBlock>
</Button>
은 당신이 당신의 버튼 템플릿을 편집하는 데 사용할 수 있습니다 :
이
<ControlTemplate x:Key="ButtonControlTemplate1" TargetType="Button">
<Grid>
<vsm:VisualStateManager.VisualStateGroups>
<vsm:VisualStateGroup x:Name="CommonStates">
<vsm:VisualState x:Name="Normal"/>
<vsm:VisualState x:Name="MouseOver">
<Storyboard/>
</vsm:VisualState>
<vsm:VisualState x:Name="Pressed">
<Storyboard/>
</vsm:VisualState>
<vsm:VisualState x:Name="Disabled">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="DisabledVisualElement" Storyboard.TargetProperty="Opacity">
<SplineDoubleKeyFrame KeyTime="0" Value=".55"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</vsm:VisualState>
</vsm:VisualStateGroup>
<vsm:VisualStateGroup x:Name="FocusStates">
<vsm:VisualState x:Name="Focused">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Opacity">
<SplineDoubleKeyFrame KeyTime="0" Value="1"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</vsm:VisualState>
<vsm:VisualState x:Name="Unfocused" />
</vsm:VisualStateGroup>
</vsm:VisualStateManager.VisualStateGroups>
<ContentPresenter
x:Name="contentPresenter"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
Margin="{TemplateBinding Padding}"/>
<Rectangle x:Name="DisabledVisualElement" RadiusX="3" RadiusY="3" Fill="#FFFFFFFF" Opacity="0" IsHitTestVisible="false" />
<Rectangle x:Name="FocusVisualElement" RadiusX="2" RadiusY="2" Margin="1" Stroke="#FF6DBDD1" StrokeThickness="1" Opacity="0" IsHitTestVisible="false" />
</Grid>
</ControlTemplate>
이제 버튼은 다음과 같이 정의한다 당신의 마음의 내용 :) 디자인보기에서 단추를 선택하십시오 - 디자인 창 바로 위에는 'NewAppointmentButton'이라는 회색 단추가 생깁니다. 그것을 클릭 한 다음 '컨트롤 파트 편집'을 클릭하고 '템플릿 편집'을 클릭하면 버튼이 노란색 윤곽선으로 표시됩니다. 이제 시각적 요소와 상태 및 전환을 편집 할 수 있습니다.
행운을 빈다.
감사합니다. "vsm"에 대한 언급이 많습니다. 어떤 네임 스페이스가 필요합니까? (빨간 squigglies의 순간에!) –
아, 미안 해요! xmlns를 추가하십시오 : vsm = "clr-namespace : System.Windows; assembly = System.Windows" –
그건 훌륭한 작품입니다! 한 가지 - 내 스타일 ( )에서 템플릿을 설정하려고했는데 ToolbarButtonTemplate이라는 리소스가 없다는 오류가 발생했습니다. . 왜 그런지 알아? –