2010-12-17 2 views
3

버튼을 설정하려고 할 때 마우스가 올라간 경우에만 버튼이 시각적 속성을 활성화 된 버튼으로 변경합니다. 당신의 도움에 미리버튼을 설정하기 위해 트리거를 사용합니다. 마우스가 켜지면 IsEnabled가 참입니다.

<Button Foreground="Black" Content="OK" Margin="186,100,170,172" > 
     <Button.Style> 
      <Style TargetType="Button"> 
       <Setter Property="IsEnabled" Value="False" /> 
       <Style.Triggers> 
        <Trigger Property="IsMouseOver" Value="True"> 
         <Setter Property="IsEnabled" Value="True" /> 
        </Trigger> 
       </Style.Triggers> 
      </Style> 
     </Button.Style> 
    </Button> 

감사 :

내 코드입니다.

+0

이 작동합니까 계신 얻기 위해 국경에서 버튼을 캡슐화 수 있을까? 나는 그것이해야한다고 생각한다 : S – Machinarius

답변

5

당신은 당신이

<Border Name="buttonBorder" Margin="186,100,170,172" 
     Background="#01000000" BorderBrush="Transparent" BorderThickness="0"> 
    <Button Foreground="Black" Content="OK"> 
     <Button.Style> 
      <Style TargetType="Button"> 
       <Setter Property="IsEnabled" Value="False" /> 
       <Style.Triggers> 
        <DataTrigger Binding="{Binding ElementName=buttonBorder, Path=IsMouseOver}" Value="True"> 
         <Setter Property="IsEnabled" Value="True" /> 
        </DataTrigger> 
       </Style.Triggers> 
      </Style> 
     </Button.Style> 
    </Button> 
</Border> 
+0

+1 나는 그것을 생각하지 않았다. –

2

버튼이 비활성화되어있는 동안 IsMouseOver가 false이며 (또한 MouseMove 또는 다른 이벤트를 생성하지 않기 때문에) 여기에서 원하는 것을 수행 할 수 없다고 생각합니다.

당신이 원하는 것을 얻기 위해 (btw, 왜 마우스 위에 올려 놓았을 때 비활성화 된 버튼을 사용 가능하게할까요? 너무 자연스럽지 않습니다 ... 키보드로 단추를 탐색하려면 어때요? 불가능할 경우 불가능합니다) 마우스를 위에 올려 놓지 않았을 때 비활성화 상태로, 마우스가 위에있을 때 활성화 상태로 보이도록 버튼을 다시 스타일을 지정해야합니다. 그러나 이것은 약간의 작업이 필요할 것입니다).

관련 문제