2010-08-09 1 views
1

다소 좌절하는 버그를 다루고 있습니다. 나의 궁극적 인 목표는 IsMouseOver에서 빛나는 이미지를 가지고 이벤트를 호출하기 위해 클릭 할 수 있습니다. 이것은 너무 복잡해 보이지만 다른 대안은 사용자 정의 컨트롤을 만드는 것이 었습니다.이 컨트롤은 훨씬 과도합니다. 이것은 내가 지금까지 한 일이다버튼이 8 픽셀 증가 할 때 MouseOver WPF XAML

<Button HorizontalAlignment="Right" Margin="0,28,6,0" Name="delButton" VerticalAlignment="Top" Style="{DynamicResource DelButton}" Click="delButton_Click" /> 

이 일어나고있는 것입니다 :로

<Style x:Key="DelButton" TargetType="Button"> 
     <Setter Property="Padding" Value="0" /> 
     <Setter Property="Background" Value="Red" /> 
     <Setter Property="BorderBrush" Value="Transparent" /> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="Button"> 
        <Image Source="/HaskList;component/Images/Del24.png" Stretch="None"/> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
     <Style.Triggers> 
      <Trigger Property="IsMouseOver" Value="True"> 
       <Setter Property="Template"> 
        <Setter.Value> 
         <ControlTemplate TargetType="Button"> 
          <Image Source="/HaskList;component/Images/Del24h.png" Stretch="None"/> 
         </ControlTemplate> 
        </Setter.Value> 
       </Setter> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 

내 버튼이 정의 된 제안에 대한

alt text

감사합니다.

답변

2

나는 다른 날에도이 이미지를 보았고 이미지 중 하나는 표준 96dpi이고 다른 하나는 다른 것일 수 있습니다. 나는 어떻게 든 78 dpi 또는 다른 것이었던 1 개의 심상이 있고, 저것은 이상한 사이징을 얻고 있던 저것이다.

+0

흠 소리가 나는 것처럼 들리지만, png에 dpi 정보가 저장되어 있다는 것을 알지 못했습니다. –

+0

나는 역시 아니었다! 그래서 나는 그것을 찾아 내 첫 번째 히트로 이것을 발견했습니다 : http://www.hanselman.com/blog/BeAwareOfDPIWithImagePNGsInWPFImagesScaleWeirdOrAreBlurry.aspx –