Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在工具提示上获得更厚的阴影?_C#_Wpf_Xaml_Tooltip - Fatal编程技术网

C# 如何在工具提示上获得更厚的阴影?

C# 如何在工具提示上获得更厚的阴影?,c#,wpf,xaml,tooltip,C#,Wpf,Xaml,Tooltip,我正在用以下内容覆盖工具提示: <Style x:Key="{x:Type ToolTip}" TargetType="ToolTip"> <Setter Property="OverridesDefaultStyle" Value="True"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetTy

我正在用以下内容覆盖工具提示:

<Style x:Key="{x:Type ToolTip}" TargetType="ToolTip">
    <Setter Property="OverridesDefaultStyle" Value="True"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ToolTip">
                <Grid>
                    <Grid.Background>
                        <SolidColorBrush />
                    </Grid.Background>
                    <mwt:SystemDropShadowChrome Color="#00FFFFFF" CornerRadius="5" Name="Shdw" SnapsToDevicePixels="True">
                        <Border CornerRadius="5">
                            <StackPanel>
                                <ContentPresenter TextBlock.Foreground="Black" />
                            </StackPanel>
                        </Border>
                    </mwt:SystemDropShadowChrome>
                </Grid>

边缘的厚度值的最大值似乎为5

                <ControlTemplate.Triggers>
                    <Trigger Property="ToolTipService.HasDropShadow">
                        <Setter Property="FrameworkElement.Margin" TargetName="Shdw">
                            <Setter.Value>
                                <Thickness>0,0,5,5</Thickness>
                            </Setter.Value>
                        </Setter>
                        <Trigger.Value>
                            <sys:Boolean>True</sys:Boolean>
                        </Trigger.Value>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

0,0,5,5
真的
如果能看到更多的阴影,那就太好了

我的缺点是没有发布我所有的代码。下面是根据Iceat的回复进行的编辑:

<Style x:Key="{x:Type ToolTip}" TargetType="ToolTip">
    <Setter Property="OverridesDefaultStyle" Value="True"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ToolTip">
                <Grid>
                    <Grid.Background>
                        <SolidColorBrush />
                    </Grid.Background>
                    <mwt:SystemDropShadowChrome Color="#71000000" CornerRadius="5" Name="Shdw" SnapsToDevicePixels="True">
                        <Border CornerRadius="5">
                            <StackPanel>
                                <ContentPresenter TextOptions.TextRenderingMode="ClearType" TextOptions.TextFormattingMode="Display" TextBlock.FontFamily="Segoe UI" TextBlock.FontStretch="Normal" TextBlock.FontWeight="Normal" TextBlock.Foreground="Black" TextBlock.FontSize="13" Margin="18,8,16,4" HorizontalAlignment="Left" VerticalAlignment="Top" />
                                <Border HorizontalAlignment="Stretch" BorderThickness="0,1,0,0" BorderBrush="Gray" Margin="10,5,10,5"  Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="2">
                                    <TextBlock Margin="8,4,0,0" FontWeight="Bold" Text="{x:Static res:AppStrings.Help_0_Footer}" FontSize="13" Foreground="#E3000000" />
                                </Border>
                            </StackPanel>
                            <Border.Background>
                                <LinearGradientBrush>
                                    <LinearGradientBrush.StartPoint>
                                        <Point X=".5" Y="0"/>
                                    </LinearGradientBrush.StartPoint>
                                    <LinearGradientBrush.EndPoint>
                                        <Point X=".5" Y="1"/>
                                    </LinearGradientBrush.EndPoint>
                                    <LinearGradientBrush.GradientStops>
                                        <GradientStop Color="#FFFFA200" Offset="1"/>
                                        <GradientStop Color="White" Offset="0.305"/>
                                    </LinearGradientBrush.GradientStops>
                                </LinearGradientBrush>
                            </Border.Background>
                        </Border>
                    </mwt:SystemDropShadowChrome>
                </Grid>
                <ControlTemplate.Triggers>
                    <Trigger Property="ToolTipService.HasDropShadow" Value="True">
                        <Setter Property="Margin" TargetName="Shdw" Value="0,0,5,5"/>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>


对于大于5的边距,我仍然无法获得更厚的dropshadow。

边距不受限制。要查看更多阴影,您需要将边距应用于内容,而不是
SystemDropShadowChrome
decorator本身:

<mwt:SystemDropShadowChrome Name="Shdw" CornerRadius="5">
    <Border Name="shdwContent" CornerRadius="5">
         <StackPanel>
             <ContentPresenter TextBlock.Foreground="Black" />
         </StackPanel>
    </Border>
</mwt:SystemDropShadowChrome>
...
<ControlTemplate.Triggers>
    <Trigger Property="ToolTipService.HasDropShadow" Value="True">
        <Setter Property="Margin" TargetName="ShdwContent" Value="0,0,5,5">
    </Trigger>
</ControlTemplate.Triggers>

...

作为补充说明,现在您正在使用透明颜色作为阴影颜色(
#00FFFFFF
)。如果没有通过某些触发或其他方式改变,你将看不到任何阴影。

没有。我根据你的建议发布了上面的代码,但保证金在5点后仍然无效。谢谢你的帮助。