tmytのらくがき

個人の日記レベルです

SettingsCharmの項目ってXAMLから追加したいですよね

表題の通りですが、SettingsCharmの項目ってどうもコードからしか書けないというなんとも言えない仕様だそうで、しかたないのでXAMLから書いてみました。


追記
ページ遷移すると項目まみれになる不具合を修正。そのついでにリソースに定義してもマージして表示してくれるようにとかしてみました。
リソースに追加したコマンドにどうやって応答するねん問題はおいおい解決します。

このファイルをプロジェクトへ追加します。

でもってXAML側からこんな感じで呼びます。CommandIdは必須です。ないと死にます。

<Page
    x:Class="App1.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App1"
    xmlns:e="using:Extras.Charms"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
    
    <e:SettingsCharm.Settings>
        <e:Settings>
            <e:Setting Header="hoge" CommandId="hoge" Click="Setting_Click_1"/>
        </e:Settings>
    </e:SettingsCharm.Settings>

    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">

    </Grid>
</Page>

ね?簡単でしょ?