2011-07-29 2 views
0

Je suis actuellement en train de suivre les étapes http://www.windowsphonegeek.com/articles/Creating-a-WP7-Custom-Control-in-7-Steps? en faisant un contrôle personnalisé pour WP7. J'ai créé mon contrôle dans un fichier xaml normal de Windows Phone Portrait (combinant un peu de contrôle), je ne sais pas comment je peux le convertir pour travailler dans le fichier generic.xaml (comme ResourceDictionary). Jusqu'à présent, cela n'a pas fonctionné.contrôle personnalisé (generic.xaml) pour WP7

J'ai essayé d'utiliser Expression Blend pour faire la conversion, mais je ne suis pas sûr de savoir comment le faire. Editer: Je poste mon code, c'est une boîte qui affiche l'heure dynamique. Je veux également ajouter des propriétés pour fournir la date et une autre pour la couleur de la boîte.

Ceci est le code jusqu'à présent.

<ResourceDictionary 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows" 
xmlns:local="clr-namespace:CereTime"> 
    <!-- Check xmlns:local im case of error --> 
    <Style TargetType="local:CereT1"> 
     <!-- After specifing the custom properties in .cs file, implement them here --> 
     <Setter Property="Date" Value="{TemplateBinding Date}" /> <!-- Under check --> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="local:CereT1"> 
        <Canvas Background="YellowGreen" Width="100" Height="100" Name="DateBox" HorizontalAlignment="Left" VerticalAlignment="Top"> 
         <StackPanel Orientation="Vertical" Height="100" Width="100"> 
          <TextBlock Name="Month" Text="Month" Foreground="White" TextAlignment="Center" HorizontalAlignment="Center" FontSize="24" FontWeight="Bold" Margin="0,12,0,0" /> 
          <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="0,6,0,0"> 
           <TextBlock Name="Date" Text="0" VerticalAlignment="Bottom" Margin="0,0,5,0" FontSize="26.667"/> 
           <TextBlock Name="No_Name" Text="|" FontSize="26.667" /> 
           <TextBlock Name="Year" Text="Year" Margin="5,0,0,0" FontSize="26.667" /> 
          </StackPanel> 
         </StackPanel> 
        </Canvas> 
       </ControlTemplate>    
      </Setter.Value> 
     </Setter> 
    </Style> 
</ResourceDictionary> 

Veuillez me prévenir. Merci,

+0

En supposant que vous avez terminé le tutoriel et cela fonctionne (et sinon s'il vous plaît décrire le problème) qu'est-ce que vous essayez de exactement convertir en generic.xaml? –

Répondre

0

Alors que vous pouvez déplacer le de style du contrôle utilisateur à un ResourceDictionary, pourquoi la peine quand vous pouvez avoir cela et le modèle dans le XAML correspondant à votre UserControl?

Définissez simplement l'intérieur MyUserControl.xaml, ainsi que les autres propriétés que vous souhaitez modifier. Mais la partie entière sur la séparation d'un style d'un contrôle personnalisé en un ResourceDictionary, n'a pas beaucoup de choses à faire avec UserControls. Peut-être que vous devriez nous dire ce qui est vraiment tort, au lieu de poser des méta-questions.

+0

cette question (vague) fait référence au contrôle personnalisé et non au contrôle de l'utilisateur. –

0

J'ai eu le même problème en essayant de créer le contrôle suivant à la liaison que vous donnez.
solution est d'ajouter

<ResourceDictionary>  
    <ResourceDictionary.MergedDictionaries> 
     <ResourceDictionary Source="themes/generic.xaml"/> 
    </ResourceDictionary.MergedDictionaries> 
</ResourceDictionary> 

en tag Application.Resources dans App.xaml

Questions connexes