J'ai un ListView qui a quelques colonnes. Je n'ai aucun problème contraignant chaque GridViewColumn à une propriété, par exemple:Liaison multiple dans une vue de liste
<ListView ItemsSource="{Binding MyList}">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Name}">
<GridViewColumnHeader Content="Name"/>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
Les problèmes commencent lorsque je tente de MultiBind un GridViewColumn à deux propriétés:
<GridViewColumn>
<GridViewColumn.DisplayMemberBinding>
<MultiBinding Converter="{StaticResource DisplayMemberConverter}">
<Binding Path="HighestScore"/>
<Binding Path="IsHighestScoreApplicable"/>
</MultiBinding>
</GridViewColumn.DisplayMemberBinding>
<GridViewColumnHeader Content"Highest_Score"/>
Le convertisseur J'utilise est donné ici:
public class DisplayMemberConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
int int_value = (int)values[0];
bool bool_value = (bool)values[1];
if (bool_value == true)
return int_value;
return null;
}
...
}
Je veux obtenir l'effet que lorsque 'IsHighestScoreAp La propriété 'plicable' est fausse - rien n'est affiché sur la liste (vide), et quand c'est vrai - la valeur HighestScore est affichée, mais cela ne marche pas - tout ce que je reçois est une colonne vide même quand '' IsHighestScoreApplicable 'est vrai. De plus, quand je debug méthode Convert() je peux voir que l'instruction if:
if (bool_value == true)
détient, et la valeur retournée est int_value, mais rien ne montre sur la Liste.
Qu'est-ce qui ne va pas?
All The Best, Dave