0
votes

Type de propriété de dépendance non respecté

Pourquoi une propriété de dépendance avec type XXX peut-elle obtenir une valeur d'un autre type?

est le type d'une propriété de dépendance vient de définir pour la valeur par défaut? P>

Par exemple: Strong> P>

Structure de projet: P>

projet p>

Code de contrôle utilisateur (CarControl): strong>

code xaml: em> p> xxx pré>

code derrière (c #): p>

#region Brand

public static readonly DependencyProperty BrandProperty =
    DependencyProperty.Register("Brand", typeof(List<double>), typeof(CarControl),
        new FrameworkPropertyMetadata((List<double>)null));

public List<double>Brand
{
    get { return (List<double>)GetValue(BrandProperty); }
    set { SetValue(BrandProperty, value); }
}

#endregion


0 commentaires

3 Réponses :


-1
votes

Lorsque vous dites 'obtenir une valeur' ​​

in:

Pourquoi une propriété de dépendance peut-elle avoir une valeur d'un autre type?

Ce que vous demandez est vraiment comment une liaison est résolue.

Le cadre WPF résout une liaison et obtient la valeur actuelle réelle.

Lorsque cela est fait de résoudre, le cadre tentera de "définir" la valeur de votre propriété de dépendance, et ne vérifiera-t-il que si les types sont identiques.

S'ils ne sont pas et aucun convertisseur n'a été fourni à la liaison, il lancera cette exception que vous avez ajoutée.




1
votes

La liaison dans

<TextBlock Text="{Binding Brand,
                  RelativeSource={RelativeSource AncestorType=UserControl}}"/>


0 commentaires