LinearGradientBrush для прозрачности показывает белый фон - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть background цвет #424242 с ListBox и некоторым содержимым ..

enter image description here

Я хочу иметьLinearGradientBrush от #424242 до Transparent поверх элементов управления.Проблема в том, что я получаю белый цвет фона:

enter image description here

Если я заменю Transparent на #00000000, у меня будет более темный / черный цвет:

enter image description here

XAML-код

<Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="136*"/>
            <RowDefinition Height="203*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <StackPanel Orientation="Vertical" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Center">
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
        </StackPanel>
        <Rectangle Grid.Column="0" Grid.Row="0">
            <Rectangle.Fill>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="Transparent" Offset="0"/>
                    <GradientStop Color="#424242" Offset="1"/>
                </LinearGradientBrush>
            </Rectangle.Fill>
        </Rectangle>

        <StackPanel Orientation="Vertical" Grid.Column="1" Grid.Row="0" HorizontalAlignment="Center">
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
        </StackPanel>
        <Rectangle Grid.Column="1" Grid.Row="0">
            <Rectangle.Fill>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="#00000000" Offset="0"/>
                    <GradientStop Color="#424242" Offset="1"/>
                </LinearGradientBrush>
            </Rectangle.Fill>
        </Rectangle>

        <StackPanel Orientation="Vertical" Grid.Column="2" Grid.Row="0" HorizontalAlignment="Center">
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
        </StackPanel>
        <Rectangle Grid.Column="2" Grid.Row="0" Opacity="0">
            <Rectangle.Fill>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="#424242" Offset="0"/>
                    <GradientStop Color="#424242" Offset="1"/>
                </LinearGradientBrush>
            </Rectangle.Fill>
        </Rectangle>
    </Grid>
</Grid>

enter image description here

1 Ответ

0 голосов
/ 13 сентября 2018

У меня есть ответ: просто используйте тот же цвет с альфа 0%

<Rectangle.Fill>
    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
        <GradientStop Color="#FF424242" Offset="1"/>
        <GradientStop Color="#00424242"/>
    </LinearGradientBrush>
</Rectangle.Fill>
...