mtrcol
mtrcol

Reputation: 13

Make form semi transparent to see form's background image

I'm using WPF (c#) form with background image (background imagebrush).

I want to make all the UI elements(button , title, textbox)... become semi-transparent so that they don't cover the image completely,

but the background image still being visible (not semi-transparent)

I would like a way we can do it without having to set all the opaque value of UI elements.

Upvotes: 0

Views: 255

Answers (2)

Vivek Saurav
Vivek Saurav

Reputation: 2275

Maybe this could help

 <Window.Resources>
        <Style x:Key="transparentControls" TargetType="Button">
            <Setter Property="Opacity" Value="0.1"/>
            <Setter Property="Background" Value="Green"/>
        </Style>
    </Window.Resources>
    <Grid>
        <Grid.Background>
            <ImageBrush ImageSource="MyImage.jpg"/>
        </Grid.Background>
        <Button Height="24" Width="100" Style="{StaticResource transparentControls}"  VerticalAlignment="Top" Content="Hey"/>
        <Button Height="24" Width="100" Style="{StaticResource transparentControls}"  Content="There"/>
        <Button Height="24" Width="100" Style="{StaticResource transparentControls}"  VerticalAlignment="Bottom" Content="Click Me"/>
    </Grid>

Upvotes: 1

FKutsche
FKutsche

Reputation: 402

Just try to put all your UI elements in a Canvas or Grid and set the Opacity of that parent element.

Like that:

<Canvas Opacity="1">
        <Button Width="100" Height="100"></Button>
</Canvas>

I hope this was what you meant.

Upvotes: 0

Related Questions