2010-03-05 2 views

답변

3

이렇게하려면 버튼 템플릿을 조정해야합니다. 먼저 Visual Studio 만 있으면 문서에서 가져올 수있는 기존 템플릿을 잡습니다 (템플릿의 복사본 편집을 사용하여 여기에서 블렌드합니다). Button Styles and Templates.

복사 사용하여 전체 스타일과 UserControl을 자원에 UserControl을 어딘가에 자원에 배치 또는 더 나은 아직 자신의 ResourceDictionary에 파일과 포함 MergedDictionaries : -

NoFocusRectangleButtonStyle.xaml : -

당신의 UserControl에서
<ResourceDictionary 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <Style x:Key="NoFocusRectangleButtonStyle" TargetType="Button"> 
     <!-- copy of style contents from documentation --> 
    </Style> 
</ResourceDictionary> 

는 : -

<UserControl .... > 
    <UserControl.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="NoFocusRectangleButtonStyle.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 
     <!-- other local resources --> 
    </ResourceDictionary> 
    </UserControl.Resources> 
    <Grid x:Name="LayoutRoot" ...> 

    <Button Style="{StaticResource NoFocusRectangleButtonStyle}"> 
     <Image Source="yourimage.png" /> 
    </Button> 

    </Grid> 
</UserControl> 

지금 당신은 단지을 조정할 필요복사 된 스타일로 포커스 Rectangle을 제거하십시오. 템플릿의 맨 아래에서 바로 찾을 수 있습니다. 삭제하십시오. 그런 다음 VisualStateGroups 세트의 마지막 부분을 보면 "Focus"라는 VisualState이 표시되고 포함 된 Storyboard을 삭제하면 완료됩니다.

+0

멋진 솔루션입니다. 감사합니다. –

관련 문제