我有一个 WPF .NET 3.5 应用程序,它使用 ImageDrawing 和 DrawingGroup 在彼此之上绘制透明平铺层。
我正在尝试使用 Metro 将其转换为 Windows 8。
Microsoft 在http://msdn.microsoft.com/en-us/library/windows/apps/hh465136.aspx的移植概述建议将 System.Windows 命名空间引用更改为 Windows.UI.Xaml。这对大多数事情都有帮助,但我没有找到 ImageDrawing 和 DrawingGroup,也没有在 Windows.UI.Xaml 中找到它们的任何提及。
它们存在于 Metro 中吗?如果是这样,在哪里,或者如果不是,我可以用什么来完成等效的任务?
这是我正在使用的示例代码:
Windows.UI.Xaml.Controls.Image img = mapGrid.Children.Cast<Windows.UI.Xaml.Controls.Image>().First(e => Grid.GetRow(e) == 2 && Grid.GetColumn(e) == 4);
if (img != null)
{
Uri back = new Uri("tiles/green.png", UriKind.RelativeOrAbsolute);
Windows.UI.Xaml.Media.ImageDrawing background = new Windows.UI.Xaml.Media.ImageDrawing(new Windows.UI.Xaml.Media.Imaging.BitmapImage(back), new Rect(0, 0, 32, 32));
Windows.UI.Xaml.Media.DrawingGroup myDrawingGroup = new Windows.UI.Xaml.Media.DrawingGroup();
myDrawingGroup.Children.Add(background);
// Add one or more foreground tiles here, removed for brevity.
}
为了清楚起见,完全限定的名称空间(我希望如此)。