Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.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# WPF中的高级效果?_C#_Wpf_Xaml - Fatal编程技术网

C# WPF中的高级效果?

C# WPF中的高级效果?,c#,wpf,xaml,C#,Wpf,Xaml,我一直试图完全在WPF中重新创建,但我遇到了一些问题: 阴影。主元素上的阴影不会显示在填充内部-在WPF中使用DropShadowEffect时,会显示。到目前为止,我还没有找到解决这个问题的办法 背景图片-主要元素有一个轻微的图案,一个对角线。但在WPF中,我不能使用这样的背景图像。我可能只是错过了一些东西 主元素(顶部)中的轻微插入-不容易复制 所以不管怎样,我想我的问题是,我怎样才能在WPF中实现这些效果?希望这段代码将为您指明正确的方向: <Grid> <

我一直试图完全在WPF中重新创建,但我遇到了一些问题:

  • 阴影。主元素上的阴影不会显示在填充内部-在WPF中使用DropShadowEffect时,会显示。到目前为止,我还没有找到解决这个问题的办法
  • 背景图片-主要元素有一个轻微的图案,一个对角线。但在WPF中,我不能使用这样的背景图像。我可能只是错过了一些东西
  • 主元素(顶部)中的轻微插入-不容易复制

所以不管怎样,我想我的问题是,我怎样才能在WPF中实现这些效果?

希望这段代码将为您指明正确的方向:

<Grid>
    <Border x:Name="Blur"
            BorderThickness="5"
            CornerRadius="5"
            BorderBrush="#7F000000">
        <Border.Effect>
            <BlurEffect Radius="8" />
        </Border.Effect>
    </Border>
    <Border x:Name="Outter"
            BorderBrush="#CCD3D3D3"
            BorderThickness="1"
            CornerRadius="5"
            Margin="2">
        <Border.Background>
            <ImageBrush Viewbox="0,0,45,38"
                        ViewboxUnits="Absolute"
                        Viewport="0,0,45,38"
                        ViewportUnits="Absolute"
                        TileMode="Tile"
                        ImageSource="<SomeImageThatIsATileOfThePattern>"
                        Opacity="0.3"
                        Stretch="Fill" />
        </Border.Background>
    </Border>
    <Border x:Name="Inner"
            BorderThickness="0,1,0,0"
            CornerRadius="5"
            Margin="2,4,2,2"
            BorderBrush="#7FD3D3D3" />
    <ItemsControl Background="HotPink"
                  Margin="11"
                  Height="21" />
</Grid>

结果是:

[我使用了一个普通图像,只是为了显示重复。原始图像的大小是W50xH38-希望重复是明显的]

使用Viewbox和Viewport的值调整图像


当然,
ItemsControl
不应该有粉红色的背景,它的高度也不应该是一个常数,它是为了演示而做的。

我不确定你说的阴影是什么,但是如果你不为阴影元素定义背景,它的子元素也会显示阴影。。。因此,只需为应用效果的元素定义一个背景,它将仅在外部可见。对角线图案不必是图像-看这里的插图可以通过画一条线来模拟。。。放大那张图片,你会看到那只是一条较暗的线,产生了这种效果。我记得你试图将阴影隐藏在半透明的矩形内。现在,你想显示阴影吗?不清楚。。。请发布代码和更多细节(评论)。哇,这太棒了!到目前为止,它工作得很好D一个问题:我如何防止模糊的边界在内部和外部流血?另外,我很难让阴影看起来也很逼真。