【发布时间】:2017-12-29 19:22:25
【问题描述】:
我在这个问题上遇到了一段时间,我在网上找到的所有似乎都是相同代码的一个小变体,涉及带有 ms-appx 方案或 baseURI 的 URI。但是似乎没有任何效果。
基本上我有一个包含多个页面的 UWP 应用。当我导航到其中一个页面时,我想将应用程序的资产文件夹中的图像添加到此页面上的画布中。当我在 XAML 中执行此操作时,可以毫无困难地添加图形。
<Grid Name="basicGrid" >
<Grid.Background>
<ImageBrush ImageSource="/Assets/kamelenrace_background.png"
Stretch="UniformToFill"/>
</Grid.Background>
<Canvas Name="GameCanvas">
<Image Source="\Assets\kameel1.png"/>
</Canvas>
</Grid>
当我尝试在 C# 代码中添加图形时,没有任何效果(我尝试过一个示例)
private Image player1 = new Image();
private Image player2 = new Image();
private bool singlePlayMode;
public CamelRacePage()
{
this.InitializeComponent();
BitmapImage p1 = new BitmapImage(new Uri("ms-appx:///Assets//kameel1.png"));
player1.Source = p1;
Canvas.SetLeft(player1, GameCanvas.Width / 2);
Canvas.SetTop(player1, GameCanvas.Width / 2);
GameCanvas.Children.Add(player1);
}
虽然我现在可以使用 XAML 使其工作,但我真的很想了解为什么 C# 代码不能工作。我还在学习中……
任何帮助将不胜感激......
【问题讨论】:
-
欢迎来到 Stack Overflow!当您说“没有任何效果”时,您的意思是图像不存在,还是出现错误?
-
图片不存在。没有错误现在还发现,当我使用 Xaml 添加图像时,图像会显示在设计器中,但在运行应用程序时不可见。
-
所以我在重建解决方案后让 XAML 代码正常工作。但 C# 代码选项仍然不起作用。