WPF C#, вид чата

Есть чат на WPF, в нем каждое сообщение должно выглядеть как на картинке, возможно ли как то сделать шаблон через код, или на каждое сообщение прописывать каждый элемент? Если вопрос я задал непонятный или некорректный, напишите в комментариях.Вид каждого сообщения


Ответы (1 шт):

Автор решения: aepot

Есть обычный ItemsControl, с которым даже делать ничего не нужно, чтобы он формировал вертикальный стек элементов. Покажу только разметку без привязок, но вам потребуются привязки Binding, чтобы ей воспользоваться

<ItemsControl>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Vertical" Background="LightGray" Margin="5">
                <DockPanel>
                    <Border Width="50" Height="50" BorderBrush="Black" BorderThickness="1" Margin="5">
                        <Image Source=".."/>
                        <!-- Здесь Source будет указывать на путь к картинке.
                        Путь может быть как на диске, так и в сети, то есть URL. -->
                    </Border>
                    <TextBlock Text="Имя" Margin="5"/>
                    <TextBlock HorizontalAlignment="Right" Text="21:55" Margin="5"/>
                </DockPanel>
                <TextBlock Margin="5" Text="Текст сообщения" />
            </StackPanel>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

разметка для чата

→ Ссылка