ImageDrawing と DrawingGroup を使用して透明なタイル レイヤーを重ねて描画する WPF .NET 3.5 アプリがあります。
これを 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 でそれらについての言及も見つかりませんでした。
彼らはメトロに存在しますか?そうであれば、どこで、そうでなければ、同等のタスクを達成するために何を使用できますか?
私が使用しているコード例は次のとおりです。
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.
}
明確にするために完全修飾された名前空間 (私は願っています)。