Используя WPF, я хочу создать изображение для каждого набора данных в коллекции и отобразить изображения, сложенные вертикально.Все изображения должны иметь одинаковую высоту (и ширину).Изображения, собранные вместе, должны составлять высоту содержащего элемента.Изображения ни в коем случае не должны растягиваться.
Неработающий пример того, что мне нужно, выглядит следующим образом.
<UniformGrid Columns="1" DataContext="{Binding DataSetCollection}">
<UniformGrid.Children>
<MultiBinding Converter="{StaticResource DataSetToImageConverter}">
<Binding />
<Binding Path="ActualWidth" RelativeSource="{RelativeSource AncestorType={x:Type UniformGridRow}}" />
<Binding Path="ActualHeight" RelativeSource="{RelativeSource AncestorType={x:Type UniformGridRow}}" />
</MultiBinding>
</UniformGrid.Children>
</UniformGrid>
Это не работает дляряд причин, но, надеюсь, сообщает намерение.Основные требования:
- Все дочерние элементы должны быть одинакового роста
- Растяжение не допускается
- Каждое изображение создается динамически на основе доступной для него области
- Изображения перерисовываются при изменении размера содержащего элемента
- Преобразователь значений, используемый для правильного возврата изображений, получает ширину и высоту содержащей строки
Не изменяетНе нужно использовать UniformGrid, это может быть что угодно, однако он должен использовать привязку данных и конвертер для каждого дочернего элемента.