J'ai actuellement une classe contenant les propriétés suivantesQue ce soit pour inclure vue des informations spécifiques dans le modèle
public class Chromosome
{
public int Length
{
get;
set;
}
public int Number
{
get;
set;
}
public Chromosome(int _length, int _number)
{
Length = _length;
Number = _number;
}
}
J'ai données de la zone de liste binded à mon modèle de vue. La source des éléments est constituée de données liées à Observable des objets chromosome ChromosomeList.
<Grid>
<ListBox Style="{StaticResource ListBoxStyle}"
ItemsSource="{Binding Path=ChromosomeList}"
ItemTemplate="{StaticResource ChromosomeDataTemplate}">
</ListBox>
</Grid>
ItemTemplate pour la liste des éléments de la boîte est ChromosomeDataTemplate et est illustré ci-dessous.
<DataTemplate x:Key="ChromosomeDataTemplate">
<Border>
<Grid Height="10">
<TextBlock VerticalAlignment="Bottom"
Text="{Binding Number}">
</TextBlock>
</Grid>
</Border>
Dans ce cas, je veux la Taille propriété de la grille à données binded au Longueur propriété du chromosome. Cependant, comme le Longueur est extrêmement grand, j'ai besoin qu'il soit un petit pourcentage de la valeur réelle. Je pouvais le faire par:
- Faire une nouvelle propriété spécifique pour la hauteur modifiée
Cependant, je sens que cela ne suit pas le modèle MVVM. Est-il possible de modifier la valeur Longueur lors de la liaison de données?
C'est juste pour ça. Je vais encapsuler les futures collections dans View Models. –