kazuakix の日記

Windows Phone とか好きです

Windows Phone アプリでのユーザーコントロールの作成

Windows Phone 8 まで...というか Silverlight アプリで画面を作るときはデザイナから「UserControl の作成」という便利なメニューで簡単に部品を共通化していくことができていました。

f:id:kazuakix:20140830224359j:plain,w360

ところが WinRT になると...

f:id:kazuakix:20140830224405j:plain,w360

「Flyout の追加」とかいう面白そうな項目が増えてる代わりに「UserControl の作成」が消えちゃってますね。
 
仕方がないので新しい項目の追加でユーザーコントロールを追加してやります。

f:id:kazuakix:20140830234142j:plain,w500

で、Grid の中で共通化したいパーツを作っていきます。とりあえずはボタンだけでも...

<UserControl
    x:Class="App7.MyButton"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App7"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="72"
    d:DesignWidth="120">
    
    <Grid>
    	<Button Content="Button"/>
    </Grid>
</UserControl>


これをビルドすると、コントロールの一覧の中に表示されるようになるのでドラッグ & ドロップで設置してやります。

f:id:kazuakix:20140830235911j:plain

見た目はそのままですが、ちゃんとユーザーコントロールになっていますね。

f:id:kazuakix:20140831000255j:plain

内容的には Silverlight アプリで「UserContorol の作成」したときと何ら変わることがありません。それだけに WinRT アプリでも「UserControl の作成」メニューがあってもいいと思うのですが、不思議ですね。