Xaml ListViewItem文本包装中的Rich TextBlock

Xaml ListViewItem文本包装中的Rich TextBlock,xaml,uwp,word-wrap,Xaml,Uwp,Word Wrap,我在ListView的ListViewItem中有一个RichTextBlock。我一辈子都找不到为什么RichTextBlock上的文本包装不适用。 XAML: C# ListViewItem ListViewItem=新建ListViewItem(); listviewitem.HorizontalContentAlignment=HorizontalAlignment.Stretch; listviewitem.VerticalAlignment=VerticalAlignment.S

我在ListView的ListViewItem中有一个RichTextBlock。我一辈子都找不到为什么RichTextBlock上的文本包装不适用。 XAML:


C#

ListViewItem ListViewItem=新建ListViewItem();
listviewitem.HorizontalContentAlignment=HorizontalAlignment.Stretch;
listviewitem.VerticalAlignment=VerticalAlignment.Stretch;
listviewitem.Tag=message.Id;
StackPanel stack=新的StackPanel();
堆栈方向=方向水平;
stack.VerticalAlignment=VerticalAlignment.Stretch;
图像化身=新图像();
化身。身高=50;
Avatar.VerticalAlignment=VerticalAlignment.Top;
Avatar.Source=新位图图像(新Uri(“https://cdn.discordapp.com/avatars/“+message.User.Id+”/“+message.User.Avatar+”.jpg”);
stack.Children.Add(化身);
StackPanel innerstack=新StackPanel();
innerstack.VerticalAlignment=VerticalAlignment.Stretch;
StackPanel MsgData=新的StackPanel();
MsgData.Orientation=Orientation.Horizontal;
#区域RichTextBlock
RichTextBlock用户=新的RichTextBlock();
user.TextWrapping=TextWrapping.WrapWholeWords;
段落用户段落=新段落();
运行run1=新运行();
run1.Text=message.User.Username;
userPara.Inlines.Add(run1);
user.Blocks.Add(userPara);
#端区
MsgData.Children.Add(用户);
#区域RichTextBlock
RichTextBlock timestamp=新的RichTextBlock();
段落时间段落=新段落();
Run run2=新运行();
run2.Text=message.Timestamp.Month.ToString()+“/”+message.Timestamp.Day+”,位于“+message.Timestamp.Hour.ToString()+”:”;
如果(message.Timestamp.Minute<9)
{
run2.Text+=“0”;
}
run2.Text+=message.Timestamp.Minute.ToString();
timestamp.Foreground=GetSolidColorBrush(#FF333333”);
timePara.Inlines.Add(run2);
timestamp.Blocks.Add(timePara);
时间戳边距=新厚度(5,0,0,0);
#端区
MsgData.Children.Add(时间戳);
innerstack.Children.Add(MsgData);
#区域RichTextBlock
RichTextBlock txtblock=新的RichTextBlock();
txtblock.TextWrapping=TextWrapping.WrapWholeWords;
段落txtPara=新段落();
运行run3=新运行();
run3.Text=message.Content;
txtPara.Inlines.Add(run3);
txtblock.Blocks.Add(txtPara);
foreach(SharedModels.Embed-in-message.Embeds)
{
段落=新段落();
if(embed.title!=null)
{
运行标题=新运行();
title.Text=embed.title+“\n”;
段落.内联线.添加(标题);
}
if(embed.Description!=null)
{
Run desc=新运行();
desc.Text=embed.Description+“\n”;
段落.内联线.添加(描述);
}
if(embed.thumboil.Url!=null)
{
InlineUIContainer容器=新的InlineUIContainer();
BitmapImage bi=新的BitmapImage(新Uri(embed.缩略图.ProxyUrl));
图像=新图像();
图像。高度=300;
image.Source=bi;
container.Child=image;
段落.内联线.添加(容器);
}
txtblock.Blocks.Add(段落);
}
foreach(SharedModels.Attachment在message.Attachments中附加)
{
段落=新段落();
运行=新运行();
run.Text=attach.Filename;
BitmapImage bi=新的BitmapImage(新Uri(attach.Url));
图像=新图像();
图像。高度=300;
image.Source=bi;
InlineUIContainer容器=新的InlineUIContainer();
container.Child=image;
段落.内联线.添加(运行);
段落.内联线.添加(容器);
txtblock.Blocks.Add(段落);
}
#端区
innerstack.Children.Add(txtblock);
stack.Children.Add(innerstack);
listviewitem.Content=stack;
#区域弹出
弹出型弹出型按钮=新弹出型按钮();
StackPanel弹出内容=新建StackPanel();
弹出内容页边距=新厚度(-10);
/*按钮添加方向=新建按钮()
{
Content=“添加反应”,
水平对齐=水平对齐。拉伸
};
<ScrollViewer x:Name="MessagesScroller" HorizontalScrollMode="Disabled">
            <ListView x:Name="Messages" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"/>
        </ScrollViewer>
ListViewItem listviewitem = new ListViewItem();
                    listviewitem.HorizontalContentAlignment = HorizontalAlignment.Stretch;
                    listviewitem.VerticalAlignment = VerticalAlignment.Stretch;
                    listviewitem.Tag = message.Id;
                    StackPanel stack = new StackPanel();
                    stack.Orientation = Orientation.Horizontal;
                    stack.VerticalAlignment = VerticalAlignment.Stretch;
                    Image Avatar = new Image();
                    Avatar.Height = 50;
                    Avatar.VerticalAlignment = VerticalAlignment.Top;
                    Avatar.Source = new BitmapImage(new Uri("https://cdn.discordapp.com/avatars/" + message.User.Id + "/" + message.User.Avatar + ".jpg"));
                    stack.Children.Add(Avatar);
                    StackPanel innerstack = new StackPanel();
                    innerstack.VerticalAlignment = VerticalAlignment.Stretch;
                    StackPanel MsgData = new StackPanel();
                    MsgData.Orientation = Orientation.Horizontal;
                    #region RichTextBlock
                    RichTextBlock user = new RichTextBlock();
                    user.TextWrapping = TextWrapping.WrapWholeWords;
                    Paragraph userPara = new Paragraph();
                    Run run1 = new Run();
                    run1.Text = message.User.Username;
                    userPara.Inlines.Add(run1);
                    user.Blocks.Add(userPara);
                    #endregion

                    MsgData.Children.Add(user);

                    #region RichTextBlock
                    RichTextBlock timestamp = new RichTextBlock();
                    Paragraph timePara = new Paragraph();
                    Run run2 = new Run();
                    run2.Text = message.Timestamp.Month.ToString() + "/" + message.Timestamp.Day + " at " + message.Timestamp.Hour.ToString() + ":";
                    if (message.Timestamp.Minute < 9)
                    {
                        run2.Text += "0";
                    }
                    run2.Text += message.Timestamp.Minute.ToString();
                    timestamp.Foreground = GetSolidColorBrush("#FF333333");
                    timePara.Inlines.Add(run2);
                    timestamp.Blocks.Add(timePara);
                    timestamp.Margin = new Thickness(5, 0, 0, 0);
                    #endregion

                    MsgData.Children.Add(timestamp);
                    innerstack.Children.Add(MsgData);

                    #region RichTextBlock
                    RichTextBlock txtblock = new RichTextBlock();
                    txtblock.TextWrapping = TextWrapping.WrapWholeWords;
                    Paragraph txtPara = new Paragraph();
                    Run run3 = new Run();
                    run3.Text = message.Content;
                    txtPara.Inlines.Add(run3);

                    txtblock.Blocks.Add(txtPara);

                    foreach (SharedModels.Embed embed in message.Embeds)
                    {
                        Paragraph paragraph = new Paragraph();
                        if (embed.title != null)
                        {
                            Run title = new Run();
                            title.Text = embed.title + "\n";
                            paragraph.Inlines.Add(title);
                        }
                        if (embed.Description != null)
                        {
                            Run desc = new Run();
                            desc.Text = embed.Description + "\n";
                            paragraph.Inlines.Add(desc);
                        }
                        if (embed.Thumbnail.Url != null)
                        {
                            InlineUIContainer container = new InlineUIContainer();
                            BitmapImage bi = new BitmapImage(new Uri(embed.Thumbnail.ProxyUrl));
                            Image image = new Image();
                            image.Height = 300;
                            image.Source = bi;
                            container.Child = image;
                            paragraph.Inlines.Add(container);
                        }
                        txtblock.Blocks.Add(paragraph);
                    }

                    foreach (SharedModels.Attachment attach in message.Attachments)
                    {
                        Paragraph paragraph = new Paragraph();
                        Run run = new Run();
                        run.Text = attach.Filename;
                        BitmapImage bi = new BitmapImage(new Uri(attach.Url));
                        Image image = new Image();
                        image.Height = 300;
                        image.Source = bi;
                        InlineUIContainer container = new InlineUIContainer();
                        container.Child = image;
                        paragraph.Inlines.Add(run);
                        paragraph.Inlines.Add(container);
                        txtblock.Blocks.Add(paragraph);
                    }
                    #endregion

                    innerstack.Children.Add(txtblock);
                    stack.Children.Add(innerstack);
                    listviewitem.Content = stack;

                    #region Flyout
                    Flyout flyout = new Flyout();
                    StackPanel flyoutcontent = new StackPanel();
                    flyoutcontent.Margin = new Thickness(-10);
                    /*Button AddRection = new Button()
                    {
                        Content = "Add Reaction",
                        HorizontalAlignment = HorizontalAlignment.Stretch
                    };
                    flyoutcontent.Children.Add(AddRection);
                    Button Pin = new Button()
                    {
                        Content = "Pin",
                        HorizontalAlignment = HorizontalAlignment.Stretch
                    };
                    flyoutcontent.Children.Add(Pin);*/
                    /*Button Edit = new Button()
                    {
                        Content = "Edit",
                        HorizontalAlignment = HorizontalAlignment.Stretch,
                        Tag = message.Id
                    };
                    Edit.Click += EditMessage;
                    flyoutcontent.Children.Add(Edit);*/
                    Button Delete = new Button()
                    {
                        Content = "Delete",
                        HorizontalAlignment = HorizontalAlignment.Stretch,
                        Tag = message.Id
                    };
                    Delete.Click += DeleteThisMessage;
                    flyoutcontent.Children.Add(Delete);
                    flyout.Content = flyoutcontent;
                    listviewitem.ContextFlyout = flyout;
                    listviewitem.RightTapped += OpenRightTapFlyout;
                    listviewitem.Holding += OpenHoldingFlyout;
                    #endregion

                    Messages.Items.Add(listviewitem);
RichTextBlock txtblock = new RichTextBlock();
txtblock.Width = 300;
txtblock.TextWrapping = TextWrapping.WrapWholeWords;
 //stack.Orientation = Orientation.Horizontal;
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition></ColumnDefinition>
        <ColumnDefinition></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <Image Source="Assets/caffe1.jpg" Height="100" Grid.Row="0" Grid.Column="0"></Image>
    <RichTextBlock TextWrapping="WrapWholeWords" Grid.Row="0" Grid.Column="1">
        <Paragraph>
            <Run FontStyle="Italic">sample text todemonstrate some properties.demonstrate some properties.demonstrate some properties.demonstrate some properties.
                        demonstrate some properties.demonstrate some properties.demonstrate some properties.demonstrate some properties.demonstrate some properties.
            </Run> 
        </Paragraph>
    </RichTextBlock>
</Grid>