WPF中的按钮图像未禁用 [英] Button Image in WPF is not getting disabled
本文介绍了WPF中的按钮图像未禁用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试在按钮中使用图片...
I am trying to use an Image in my Button...
<Button Name="AButton" Margin="101,140,96,90" IsEnabled="False">
<Image Source="file:///F:/WPF/ImageButton/ImageButton/Resources/imgtest.jpg" Height="40" Width="53" ></Image>
</Button>
但是当我将按钮保留为禁用状态时,图像仍看起来像已启用
有没有一种方法可以使图像看起来也像Disabled
But when i Keep the button as disabled image is still looking like enabled
Is there a way to make the Image also look like disabled
推荐答案
设置某种样式,即当按钮可见性为Disabled时,可以给图像带来一些褪色效果
我已经使用了单选按钮,您可以将其设置为按钮
Set some style, in that give some fade effect to image when the button visibility is Disabled
I have used radio button you can set the same to button
<pre lang="xml"><RadioButton x:Name="rdo" IsTabStop="False" GroupName="CardTypeCommands" Command="{Binding Path=FilterCommand}" CommandParameter="{Binding Path=Card}" IsChecked="{Binding Path=IsSelected, Mode=TwoWay}" Background="{x:Null}" BorderBrush="{x:Null}" Foreground="{x:Null}">
<RadioButton.Template>
<ControlTemplate TargetType="{x:Type RadioButton}">
<Border Height="70" Width="90" Margin="0,0,0,0" BorderBrush="#FF2F2E2E" BorderThickness="1,1,1,1" Padding="0,0,0,0" x:Name="border" ClipToBounds="True" Visibility="Visible" CornerRadius="7,0,7,7" RenderTransformOrigin="0.5,0.5">
<Border.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />
</TransformGroup>
</Border.RenderTransform>
<Border.Background>
<LinearGradientBrush EndPoint="0.016,0.137" StartPoint="0.965,0.695">
<GradientStop Color="#FF000000" Offset="0.147" />
<GradientStop Color="#FFA9A9A9" Offset="1" />
</LinearGradientBrush>
</Border.Background>
<Grid>
<Image Stretch="None" Source="{Binding Path=Card.ImagePath}" HorizontalAlignment="Stretch" Margin="0,0,0,0" VerticalAlignment="Stretch" />
<Border Visibility="Visible" Background="#83000000" CornerRadius="7,0,7,7" x:Name="bdrDarken" d:IsHidden="True" />
<Path Stretch="Fill" Stroke="{x:Null}" StrokeThickness="0" Margin="-0.602,-0.41,-3.718,-0.043" ClipToBounds="True" SnapsToDevicePixels="True" Data="M87.662375,57.350326 C95.267257,46.41438 93.076933,29.003955 73.287821,17.875497 50.626197,5.1316741 -3.3563265,-0.55134758 9.0230928,-0.40740084 L81,0 C84.865993,0 86.639141,2.9035009 86.639141,6.7694941 L88.099592,61.63946 C88.099592,65.505453 84.865993,68 81,68 L6.212067,68.043329 C4.1990317,68.043329 2.6898495,67.068214 0.97145047,65.158821 0.34293053,64.460444 0.17465131,63.699125 -0.038209581,62.995195 -0.52407869,61.388428 -0.60180105,58.999307 -0.60180105,57.710834 z">
<Path.Fill>
<LinearGradientBrush EndPoint="0.278,0.121" StartPoint="0.535,0.728">
<GradientStop Color="#FF000000" Offset="0.469" />
<GradientStop Color="#FF606060" Offset="1" />
</LinearGradientBrush>
</Path.Fill>
</Path>
<Rectangle Fill="#FF000000" Stroke="#FF000000" RadiusX="7" RadiusY="7" VerticalAlignment="Bottom" Height="21" Opacity="0.36" StrokeThickness="1" Margin="0,0,0,0" Visibility="Visible" />
<TextBlock Text="{Binding Path=Card.Title}" Margin="0,3.5" HorizontalAlignment="Center" VerticalAlignment="Bottom" Foreground="#FFFFFFFF" />
<Button x:Name="btnAdd" Visibility="Collapsed" Margin="0,35,10,0" HorizontalAlignment="Right" VerticalAlignment="Top" IsTabStop="False" Command="{Binding Path=NewCommand}" CommandParameter="{Binding Path=Card}" ToolTip="Click to add this card type to the database.">
<Image Source="{StaticResource addImage}" Stretch="Uniform" Height="16" Width="16" />
</Button>
</Grid>
</Border>
<ControlTemplate.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True" />
<Condition Property="IsChecked" Value="False" />
</MultiTrigger.Conditions>
<MultiTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="00:00:00.3" Storyboard.TargetName="border" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" To="1.1" />
<DoubleAnimation Duration="00:00:00.3" Storyboard.TargetName="border" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" To="1.1" />
</Storyboard>
</BeginStoryboard>
</MultiTrigger.EnterActions>
<MultiTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="00:00:00.3" Storyboard.TargetName="border" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" To="1" />
<DoubleAnimation Duration="00:00:00.3" Storyboard.TargetName="border" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" To="1" />
</Storyboard>
</BeginStoryboard>
</MultiTrigger.ExitActions>
<Setter Property="Visibility" TargetName="bdrDarken" Value="Collapsed" />
</MultiTrigger>
<Trigger Property="IsChecked" Value="True">
<Setter Property="RenderTransform">
<Setter.Value>
<ScaleTransform ScaleX="1.1" ScaleY="1.1" />
</Setter.Value>
</Setter>
<Setter Property="Visibility" TargetName="bdrDarken" Value="Collapsed" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Visibility" TargetName="btnAdd" Value="Visible" />
</Trigger>
<!--<DataTrigger Binding="{Binding Path=Cards}" Value="True">
<Setter Property="Visibility" TargetName="btnAdd" Value="Collapsed" />
</DataTrigger>-->
</ControlTemplate.Triggers>
</ControlTemplate>
</RadioButton.Template>
</RadioButton>
这篇关于WPF中的按钮图像未禁用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文