Menu

avril 2013 Posts

ItemTemplate Windows 8

Un petit post pour vous partager un petit soucis que j’ai rencontrer. Je me suis créer des « ProjectTemplates » et « ItemTemplates » pour mes projets MVVM sous Windows 8. Là où la création du « ProjectTemplate » se passe sans soucis, je me suis aperçu que mes « ItemTemplates » ne s’affichais pas quand je faisais « Nouvel élément ».

En fait, Visual Studio 2012 exporte ceci dans son fichier « MyTemplate.vstemplate » :

<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
    <TemplateData>
        <DefaultName>ItemView.xaml</DefaultName>
        <Name>Black Windows 8 Empty View</Name>
        <Description>Vue pour être utilisée dans une pattern MVVM Black Blog</Description>
        <ProjectType>CSharp</ProjectType>
        <SortOrder>10</SortOrder>
        <Icon>__TemplateIcon.jpg</Icon>
        <PreviewImage>__PreviewImage.jpg</PreviewImage>
    </TemplateData>
    <TemplateContent>
        <References />
        <ProjectItem SubType="Designer" TargetFileName="$fileinputname$.xaml" ReplaceParameters="true">HomeView.xaml</ProjectItem>
        <ProjectItem SubType="Code" TargetFileName="$fileinputname$.xaml.cs" ReplaceParameters="true">HomeView.xaml.cs</ProjectItem>
    </TemplateContent>
</VSTemplate>

Or avec cette définition, l’ItemTemplate ne s’affiche pas dans ma liste. En cherchant un peu je me suis rendy compte qu’il manquait en fait un élément de définition dans le fichier. Si j’ajoute cette ligne dans le fichier de définition :

<TemplateGroupID>WinRT-Managed</TemplateGroupID>

Mon « ItemTemplate » s’affiche bien, il faut juste le savoir.

Read More

Localisation Dynamique

Une de mes problématiques en ce moment est liée à la localisation de mes applications. En effet, sous Windows Store App, si l’on veut switcher d’une langue à l’autre, il faut soit changer la langue de son OS et relancer l’application (si celle-ci utilise la localisation à partir des ressources) ou alors créer son système custom et tout ça doit être bien intégré dans votre pattern MVVM, or moi je voudrais faire ça à la volé. Bref un vrai casse-tête.

Personnellement j’ai planché un peu sur le problème et j’ai donc trouvé une première solution, certes ce n’est pas spécialement la meilleur ou la plus performante, mais elle offre je pense un bon compromis entre Resources / Binding / MVVM.

Read More