下午好! 我先说我是这个网站的日常用户,对于c#和WP8编程来说相对较新。我有一个RichTextBox,我试图从API中提出一些想象。本质上,我试图在字符串中搜索{value}(为了方便而将它们包含在{}中)并用正确的图像替换它们。作为新人我创建了一个独立的站点,我输入所述文本(简化版本),并在开始巨大之前尝试一个项目。这是我的代码看起来像ATM:
RTB的XAML:
<RichTextBox x:Name="Rtb_cardText" Margin="0,310,0,229" HorizontalAlignment="Stretch" VerticalAlignment="Top"/>
MainPage中的代码:
private void Prime()
{
string example = "blah blah blah {T} blah blah blah";
Paragraph old = new Paragraph();
Paragraph newer = new Paragraph();
string[] holder = example.Split(new[] { '{', '}' });
for (int i = 0; i < holder.Count(); i++)
{
if (holder[i] == "t" || holder[i] == "T")
{
Image symbol = new Image();
symbol.Source = new BitmapImage(new Uri("/Images/t.png", UriKind.Relative));
symbol.Height = Width = 25;
InlineUIContainer symbolUI = new InlineUIContainer();
symbolUI.Child = symbol;
old.Inlines.Add(symbolUI);
}
else
{
Run txt = new Run();
txt.Text = holder[i];
old.Inlines.Add(txt);
}
newer = old;
Rtb_cardText.Blocks.Remove(old);
Rtb_cardText.Blocks.Add(newer);
}
}
所以我的RTB应该&#34;等等等等等等等等等等等等等等等等等等等等等等等等。
一切都是可以预期的。我没有得到任何编译错误,我可以运行应用程序,但一旦方法完成,我被带到似乎是文本输入屏幕。我可以调出键盘并尝试输入内容,但什么都没有显示出来。后退按钮将我带到虚拟电话的Windows主菜单。
我尝试过的事情是IsEnabled
和IsReadOnly
有什么建议吗?也许我在这里缺少一些简单的东西。对我而言,应用程序似乎试图允许来自RTB的文本输入,但我并不完全确定。对不起,如果我没有任何意义,请告诉我是否需要澄清一些事情。谢谢你的努力! :)
更新 - 注释掉图像部分和if / else,只是在没有检查图像的情况下转储它,我的文本虽然很好但没有图像。因此它显示为&#34;等等等等等等等等等等等等等等等等等等等等等。
所以没有图像的代码是:
private void Prime()
{
string example = "blah blah blah {T} blah blah blah";
Paragraph old = new Paragraph();
Paragraph newer = new Paragraph();
string[] holder = example.Split(new[] { '{', '}' });
for (int i = 0; i < holder.Count(); i++)
{
if (holder[i] == "t" || holder[i] == "T")
{
//Image symbol = new Image();
//symbol.Source = new BitmapImage(new Uri("/Images/t.png", UriKind.Relative));
//symbol.Height = Width = 25;
//InlineUIContainer symbolUI = new InlineUIContainer();
//symbolUI.Child = symbol;
//old.Inlines.Add(symbolUI);
//}
//else
//{
Run txt = new Run();
txt.Text = holder[i];
old.Inlines.Add(txt);
//}
newer = old;
Rtb_cardText.Blocks.Remove(old);
Rtb_cardText.Blocks.Add(newer);
}
}
答案 0 :(得分:0)
symbol.Height = Width = 25;
我遇到了什么问题。我试图一次设置两个值。
symbol.Height = 25;
symbol.Width = 25;
这使一切都像魅力一样!因为我评论了图像部分并且它工作了,我认为它必须在那里,它是! :)