Dans mon application, j'aidonner le mode de conception WPF objets par défaut
<Rectangle.Margin>
<MultiBinding Converter="{StaticResource XYPosToThicknessConverter}">
<Binding Path="XPos"/>
<Binding Path="YPos"/>
</MultiBinding>
</Rectangle.Margin>
Le contexte de données est défini lors de l'exécution. L'application fonctionne, mais la fenêtre de conception dans VS n'affiche pas un aperçu mais System.InvalidCastException. C'est pourquoi j'ai ajouté un objet par défaut dans le XYPosToThicknessConverter qui est moche.
class XYPosToThicknessConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
// stupid check to give the design window its default object.
if (!(values[0] is IConvertible))
return new System.Windows.Thickness(3, 3, 0, 0);
// useful code and exception throwing starts here
// ...
}
}
Mes questions:
- Qu'est-ce que VS/processus qui construit le passage de la fenêtre de la conception à la XYPosToThicknessConverter et ce qui est une façon de le trouver par moi-même.
- Comment puis-je modifier mon code XAML, afin que la fenêtre de conception obtienne son objet par défaut et est-ce la meilleure façon de gérer ce problème?
J'utilise VS2010RC avec Net4.0
Cela m'a rendu heureux. Je lie plusieurs propriétés de dépendance sur certains blocs de texte. Ils sont apparus vides dans le concepteur qui était ennuyeux, mais ce petit tour résout cela. Cela me permet de gérer le positionnement, le formatage du texte, etc. –