Existe-t-il un moyen de déclarer un tuple dans xaml pour que je puisse l'utiliser comme un paramètre de convertisseur?Déclarer Tuple dans Xaml
7
A
Répondre
1
Pas directement.
Il y a quelques solutions intéressantes à des questions similaires:
En général, vous devrez créer votre propre type non générique et de l'utiliser à la place.
EXEMPLE
Pour:
Tuple<string, int, double>
Vous pouvez créer une classe:
namespace Models
{
class MyData
{
public MyString { get; set; }
public MyInt { get; set; }
public MyDouble { get; set; }
}
}
Ensuite, ajoutez un espace de noms XAML:
xmlns:models="clr-namespace:Models"
Créez ensuite votre instance au besoin:
<models:MyData MyString="someString" MyInt="123" MyDouble="0.1" />
-1
Vous n'avez pas besoin de le déclarer en XAML. Vous pouvez utiliser x: statique pour attribuer un ConverterParameter déclaré dans le code:
<TextBlock Text="{Binding Converter={x:Static local:MyConverter.Default}, ConverterParameter={x:Static local:MySettings.Name}}" />
Et ce que vous accédez à juste besoin d'être statique:
public static class MySettings
{
public static string Name
{
get { return "Test"; }
}
}
Je suis conscient que je ne devez en fait, j'ai déjà ce Tuple visibleTuple = new Tuple (Visibility.Collapsed, visibilité. Visible); this.Resources.Add ("visibleTuple", visibleTuple); juste pensé qu'il devait y avoir un moyen de le faire dans xaml avec toutes les nouvelles fonctionnalités de xaml2009 –
Wegged
Note intéressante, mais ne répond pas à la question. – dkantowitz