Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.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# 图像作为背景图案或平铺-UWP_C#_Uwp_Uwp Xaml - Fatal编程技术网

C# 图像作为背景图案或平铺-UWP

C# 图像作为背景图案或平铺-UWP,c#,uwp,uwp-xaml,C#,Uwp,Uwp Xaml,我已经开发wpf应用程序几年了,我曾经使用以下代码平铺图像并将其用作背景模式: <ImageBrush ImageSource="/Images/GroupPattern.png" TileMode="Tile" ViewportUnits="Absolute" Viewport="0,0,32,32"/> 然而,在UWP中,瓷砖似乎不起作用,经过一些研究,我没有发现任何东西 那么,有人知道什么是等价物吗 谢谢 如@JohnnyWestlake所述,您可以使用Microsof

我已经开发wpf应用程序几年了,我曾经使用以下代码平铺图像并将其用作背景模式:

<ImageBrush ImageSource="/Images/GroupPattern.png"  TileMode="Tile" ViewportUnits="Absolute" Viewport="0,0,32,32"/>

然而,在UWP中,瓷砖似乎不起作用,经过一些研究,我没有发现任何东西

那么,有人知道什么是等价物吗


谢谢

如@JohnnyWestlake所述,您可以使用Microsoft Win2D库。只需将此代码段添加到xaml中:

<Page .....
     xmlns:win2d="using:Microsoft.Graphics.Canvas.UI.Xaml"
      .....>

  <Grid>
    <win2d:CanvasControl CreateResources="BackgroundCanvas_CreateResources" 
                         Draw="BackgroundCanvas_Draw" />
  </Grid>
</Page>

(希望有帮助)

作为@JohnnyWestlake notised,您可以使用Microsoft Win2D库。只需将此代码段添加到xaml中:

<Page .....
     xmlns:win2d="using:Microsoft.Graphics.Canvas.UI.Xaml"
      .....>

  <Grid>
    <win2d:CanvasControl CreateResources="BackgroundCanvas_CreateResources" 
                         Draw="BackgroundCanvas_Draw" />
  </Grid>
</Page>

希望有帮助)

可能的副本没有内置的等效项。如果要将其用作画笔,则必须从XamlCompositionBrushBase创建自己的画笔,并将其与支持平铺的Win2D边界效果相结合。有一个未记录的例子,但它不是值得生产的代码(我用它来报告一个错误)我会尝试一下,我不知道为什么这样的基本功能不可用…谢谢你,我尝试了,它的工作,但平铺太大,我的控制几乎整个页面,有没有办法将其设置为24x24?如果这是您使用视口的目的,那么没有简单的方法可以做到这一点。(从技术上讲,Win2D CropEffect通常可以链接到效果图来完成这项工作,但它不适用于合成API)。您可以使用composition API缩放用于笔刷的曲面,也可以创建自己的CompositionDrawingSurface并使用Win2D API在其上绘制所需的任何内容。这当然不是小事!不过,最简单的方法是实际调整源图像的大小。源图像的可能副本并没有内置的等价物。如果要将其用作画笔,则必须从XamlCompositionBrushBase创建自己的画笔,并将其与支持平铺的Win2D边界效果相结合。有一个未记录的例子,但它不是值得生产的代码(我用它来报告一个错误)我会尝试一下,我不知道为什么这样的基本功能不可用…谢谢你,我尝试了,它的工作,但平铺太大,我的控制几乎整个页面,有没有办法将其设置为24x24?如果这是您使用视口的目的,那么没有简单的方法可以做到这一点。(从技术上讲,Win2D CropEffect通常可以链接到效果图来完成这项工作,但它不适用于合成API)。您可以使用composition API缩放用于笔刷的曲面,也可以创建自己的CompositionDrawingSurface并使用Win2D API在其上绘制所需的任何内容。这当然不是小事!最简单的方法是实际调整源图像的大小。