2010-04-01 10 views
1

J'ai un DataGrid dans mon application silverlight qui a quelques colonnes. Un couple de colonnes de base lié sans problèmes. Une colonne a un UserControl en elle et le XAML est la suivante:Liaison Silverlight: les contrôles utilisateur à l'intérieur de la grille de données


<data:DataGridTemplateColumn Header="" CanUserSort="True" Width="107"> 
    <data:DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <local:StaticPageEnlistment EnlistmentName="{Binding SiteName}" Width="400" Height="150"/> 
     </DataTemplate> 
    </data:DataGridTemplateColumn.CellTemplate> 
</data:DataGridTemplateColumn> 

J'ai donc une propriété publique qui est une chaîne appelée EnlistmentName que j'ai lié à la valeur SiteName. J'utilise cette même "{Binding SiteName}" dans toutes mes autres colonnes sans problèmes, pourquoi le contrôle utilisateur ne peut-il pas accepter la même chaîne de liaison? En supposant que vous n'avez pas implémenté EnlistmentName en tant que DependencyProperty,

Répondre

0

Vous faites cela comme ça dans votre StaticPageEnlistment UserControl comme ceci: -

public string EnlistmentName 
    { 
     get { return GetValue(EnlistmentNameProperty) as string; } 
     set { SetValue(EnlistmentNameProperty, value); } 
    } 

    public static readonly DependencyProperty EnlistmentNameProperty = 
      DependencyProperty.Register(
        "EnlistmentName", 
        typeof(string), 
        typeof(StaticPageEnlistment), 
        new PropertyMetadata(null)); 
+0

Anthony, vous étiez 31 secondes plus rapidement :-) – Timores

+0

Merci pour la suggestion. J'ai essayé cela et il ne semble pas l'avoir résolu. En outre, lorsque je code dur une chaîne dans la propriété comme EnlistmentName = "Test String" la liaison fonctionne bien, donc je ne pense pas que ce soit un isdsue avec le contrôle utilisateur ne permettant pas la liaison. – Eric

+0

Attendez. Ça ne fait rien ... ça marche maintenant ... J'ai dû changer ma propriété pour qu'elle soit la même que celle que vous utilisez maintenant. Merci! – Eric

0

Est-EnlistmentName DependencyProperty? Selon MSDN, la cible d'une liaison doit être un DependencyProperty.

Questions connexes