В настоящее время у меня есть класс, содержащий следующие свойства
public class Chromosome
{
public int Length
{
get;
set;
}
public int Number
{
get;
set;
}
public Chromosome(int _length, int _number)
{
Length = _length;
Number = _number;
}
}
У меня есть данные списка, связанные с моей моделью представления. Источником элементов являются данные, связанные с наблюдаемыми объектами хромосом ChromosomeList .
<Grid>
<ListBox Style="{StaticResource ListBoxStyle}"
ItemsSource="{Binding Path=ChromosomeList}"
ItemTemplate="{StaticResource ChromosomeDataTemplate}">
</ListBox>
</Grid>
ItemTemplate для элементов списка: ChromosomeDataTemplate и показан ниже.
<DataTemplate x:Key="ChromosomeDataTemplate">
<Border>
<Grid Height="10">
<TextBlock VerticalAlignment="Bottom"
Text="{Binding Number}">
</TextBlock>
</Grid>
</Border>
В этом случае я хочу, чтобы свойство Высота сетки было привязано к данным со свойством Длина хромосомы. Однако, поскольку Length очень велик, мне нужно, чтобы он составлял небольшой процент от фактического значения. Я мог бы сделать это:
- Создание нового свойства, специфичного для измененной высоты
Однако я чувствую, что это не соответствует шаблону MVVM. Есть ли способ изменить значение Length при привязке данных?