2010-12-17 5 views
3

ボタンを設定しようとしています。マウスが上に移動したときにのみ ボタンがビジュアルプロパティを有効なボタンに変更します。トリガーを使用してボタンを設定するマウスの上でIsEnabledをtrueにする

これは私のコードです:あなたの助けを事前に

<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や他のイベントも生成されないため)、ここで何をしたいのかは考えられません。

あなたが望むものを達成するには(なぜ、無効にしたボタンをマウスの上に置いたときに有効にしたいのですか?それは非常に不自然です...キーボードでボタンにナビゲートしたいのですか?それが無効になっている場合は不可能です)、マウスの上にマウスを置かないで、マウスがその上にあるときのように、ボタンのスタイルを変更して無効状態にする必要がありますが、これにはいくつかの作業が必要です)。

関連する問題