Soru Fare bittiğinde Düğme rengini değiştir


IsMouseOver == True olduğunda bir düğmenin arkaplan rengini değiştirmek istiyorum

<Button Command="{Binding ClickRectangleColorCommand}" Background="{Binding Color ,Converter={StaticResource RGBCtoBrushColorsConverter},Mode=TwoWay}" Width="auto" Height="40">
    <TextBlock Foreground="Black" Text="{Binding Color, Converter={StaticResource RGBCColorToTextConveter},Mode=TwoWay}"/>
      <Button.Style>
         <Style TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
           <Style.Triggers>
              <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="Background" Value="DarkGoldenrod"/>
              </Trigger>
           </Style.Triggers>
         </Style>
     </Button.Style>
</Button>

Bu tetikleyicinin neden işe yaramadığını anlayamıyorum.


42
2017-11-19 13:49


Menşei




Cevaplar:


Bunu deneyin - Bu örnekte Orijinal rengi yeşil ve renk tonu rengi olacak DarkGoldenrod

<Button Content="Button" HorizontalAlignment="Left" VerticalAlignment="Bottom" Width="50" Height="50" HorizontalContentAlignment="Left" BorderBrush="{x:Null}" Foreground="{x:Null}" Margin="50,0,0,0">
    <Button.Style>
        <Style TargetType="{x:Type Button}">
            <Setter Property="Background" Value="Green"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Button}">
                        <Border Background="{TemplateBinding Background}">
                            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Background" Value="DarkGoldenrod"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
</Button>

117
2017-11-19 13:54



Doğru cevabı işaretlemeyi unutma, Başkalarına yardımcı olabilir - Microsoft DN
50 saniyede :) yapacak - Gilad
OP tam olarak ne yaptı? Bilmek istiyorum ki aynı hatayı yapmam. - flarn2006
@ flarn2006 - Bence, tetik belirleyici üzerindeki bağımlılık özelliğinin Önceliği ile ilişkilidir. Çıkış yapmak bu cevap - Dzyann
WPF asla böyle basit şeyler yapmak için ne kadar kod ve tören yapılması gerektiğiyle beni şaşırtmaya son vermez. Cevabınız için teşekkürler - Carlos Rodriguez


<Button Background="#FF4148" BorderThickness="0" BorderBrush="Transparent">
     <Border HorizontalAlignment="Right" BorderBrush="#FF6A6A" BorderThickness="0>
     <Border.Style>
         <Style TargetType="Border">
             <Style.Triggers>
                 <Trigger Property="IsMouseOver" Value="True">
                     <Setter Property="Background" Value="#FF6A6A" />
                 </Trigger>
             </Style.Triggers>
         </Style>
      </Border.Style>
      <StackPanel Orientation="Horizontal">
           <Image  RenderOptions.BitmapScalingMode="HighQuality"   Source="//ImageName.png"   />
      </StackPanel>
      </Border>
  </Button>

0
2017-09-25 11:44