Frage

Ich möchte das Bild haben, um eine Deckkraft von 0,50 zu haben, wenn die Isenabalen falsch sind. Ich habe mir mehrere Beispiele angesehen, aber ich kann immer noch nicht verstehen, wie es funktioniert.

Hier ist das vollständige XAML meiner benutzerdefinierten Kontrolle. Jede Hilfe wäre zutiefst geschätzt.

<UserControl
 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
 mc:Ignorable="d"
 x:Class="test.StopButtonControl"
 x:Name="UserControl"
 d:DesignWidth="85" d:DesignHeight="85">

    <Grid x:Name="LayoutRoot">
        <Image x:Name="StopButtonUI" Source="Images/stop.png" Stretch="Fill" MouseUp="StopButtonClick"/>  
    </Grid>
</UserControl>
War es hilfreich?

Lösung

Sie können das koppeln Image's Opacity Eigentum zu seinem IsEnabled Eigenschaft über einen Stilauslöser wie folgt:

<Grid x:Name="LayoutRoot">
    <Image x:Name="StopButtonUI" Source="Images/stop.png" >
        <Image.Style>
            <Style TargetType="Image">
                <Style.Triggers>
                    <Trigger Property="IsEnabled" Value="False">
                        <Setter Property="Opacity" Value="0.5" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Image.Style>
    </Image>
</Grid>

Dadurch wird die festgelegt Opacity bis 0,5 wann IsEnabled ist falsch.

Das Image's IsEnabled Eigenschaft wird ausgelöst, wenn die UserControl hat seine IsEnabled Die Eigenschaft verändert sich infolge der Eigentumserbschaft, dh das Bild ist ein Kind der Benutzerkontrolle, sodass es seine hat IsEnabled Eigenschaft auch eingestellt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top