Windows Dev. Site

C++/CLI + XAML

前々回のC++/CX + XAML に比較して、C++/CLIでもできるのかどうかテストしたところ、一応(形の上では?)できたので備忘録としておきたいと思います。
(WebViewもトライしてみましたができませんでした。方法はあるのかな?)

環境 : VisualStudio2012 / Windows 8
プロジェクトは、C++ CLRの空のプロジェクトを選びました。

using namespace System;
using namespace System::IO;
using namespace System::Windows;
using namespace System::Windows::Markup;
using namespace System::Windows::Navigation;
using namespace System::Threading; 

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
	FileStream^ fs = gcnew FileStream("xamltest.xaml", FileMode::Open, FileAccess::Read);
	Window^ win =  safe_cast<Window^>( XamlReader::Load(fs) );

	if(win != nullptr){
		win->Show();
	}
	Thread::Sleep(1000);

    return 0;
}

xamltest.xaml

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
	Title="XamlTest" Height="300" Width="500">
	<Grid>
		<Label VerticalAlignment="Center" HorizontalAlignment="Center">Xaml Test</Label>
	</Grid>
</Window>

実行すると、1秒間だけ以下の画面が表示されます。

xamtest