在我开发此应用程序的过程中,我一直使用画布来渲染3D模型。到目前为止,此画布已用此XAML表示:
<Canvas x:Name="modelCanvas" Grid.Row="0">
<Canvas.Background>
<RadialGradientBrush>
<GradientStop Color="#FFDED9D9" Offset="1"/>
<GradientStop Color="White" Offset="0.007"/>
</RadialGradientBrush>
</Canvas.Background>
</Canvas>
我想在此背景中添加图片。我尝试将<ImageBrush ImageSource="/Images/bg2.png"/>
添加为Canvas.Background
的子项,但这显然失败了,因为只能使用一个画笔来设置背景。是不是有一些组合刷子的方法?这个责任可能会落在视口上吗?我希望将此图像与渲染环境完全分开。
虽然理想情况下可以在XAML中解决此问题的解决方案,但我正在使用C#开发项目。
答案 0 :(得分:0)
您可以将Canvas放入网格中,将GradientBrush移动到Grid的背景中,并添加一个Image元素作为Grid的第一个子元素:
<Grid>
<Grid.Background>
<RadialGradientBrush>
<GradientStop Color="#FFDED9D9" Offset="1"/>
<GradientStop Color="White" Offset="0.007"/>
</RadialGradientBrush>
</Grid.Background>
<Image Source="transparent.png"/>
<Canvas x:Name="modelCanvas" Grid.Row="0">
</Canvas>
</Grid>