转到编辑具有约束力不工作
由于在RichTextBox的XAML属性RichTextBox的形象是不是我创建了一个定制的RichTextbox,我可以用它的XAML属性交互依赖属性:
<local:RichTextUserControl RtfXaml="{Binding Path=Text, Converter={StaticResource RichTextBoxContentConverter}}" />
,我结合下述文字到XAML属性,并将其工作正常:
<Section xml:space=\"preserve\" HasTrailingParagraphBreakOnPaste=\"False\" xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\">
<Paragraph FontSize=\"20\" FontFamily=\"Segoe WP\" Foreground=\"#FFFFFFFF\" FontWeight=\"Normal\" FontStyle=\"Normal\" FontStretch=\"Normal\" TextAlignment=\"Left\">
<Run Text=\"Some text without formatting\" />
<Italic>Some italic text</Italic>
<Underline>I am UnderLined</Underline>
</Paragraph>
</Section>
我我通过转换器绑定它,在那里我搜索笑脸字符(例如:);):D等等......)并用图像替换它们,如果我在段落文本之间的某处插入下面的代码,崩溃:
<InlineUIContainer>
<Image Source="ApplicationIcon.png"/>
</InlineUIContainer>
(这是唯一的例外,当它是结合)
编辑:
所以我发现这是一个坏的形式给出,我开始实施这样说:
<RichTextBox Tag="{Binding Path=MessageText}" TextWrapping="Wrap" Loaded="loaded"/>
private void loaded(object sender, RoutedEventArgs e)
{
var richTextBox= sender as RichTextBox;
Object o = XamlReader.Load(string.Format(XamlTemplate, richTextBox.Tag.ToString()));
var section = o as Section;
if (section != null)
{
richTextBox.Blocks.Clear();
var tempBlocks = section.Blocks.ToList();
section.Blocks.Clear();
foreach (Block block in tempBlocks)
richTextBox.Blocks.Add(block);
}
private const string XamlTemplate = "<Section xml:space=\"preserve\" HasTrailingParagraphBreakOnPaste=\"False\" xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"><Paragraph FontSize=\"20\" FontFamily=\"Segoe WP\" Foreground=\"#FFFFFFFF\" FontWeight=\"Normal\" FontStyle=\"Normal\" FontStretch=\"Normal\" TextAlignment=\"Left\"><Run Text=\"{0}\" /><Image Source=\"ApplicationIcon.png\" Width=\"15\" Height=\"15\"/></InlineUIContainer> </Paragraph></Section>";
所以我解析文本框加载事件,文本和字符串的Xaml。 XamlTemplate是带笑脸模板的硬编码文本。
我的笑脸是这样工作的,但是当我在列表框中向下滚动这些Richtextbox的数字时,滚动开始跳跃,这真的很烦人。
但是,当我将列表框项目更改为固定大小它工作正常,但我需要动态更改项目的大小,对此的任何想法?
您的图片位于哪里?这看起来不是一个有效的URI。 – jv42
它在应用程序的根目录 –
嘿..尝试使用longlistselector而不是listbox来减少渲染问题..并让我知道状态.. – Swapnika