Добрый день! Позвольте мне предисловие, что я являюсь ежедневным пользователем этого сайта и относительно новичок в программировании C# и WP8. У меня есть RichTextBox, который я пытаюсь представить из API. В сущности, я пытаюсь найти строку для {value} (они легко включены в {}) и заменяют их правильным изображением. Будучи новым, я создал отдельное место, где я вводил текст (упрощенная версия), и я пытаюсь использовать его для одного элемента, прежде чем начинать огромную работу. Вот что мой код выглядит как ATM:WP8.1 RichTextBox, отображающий пустой экран
XAML для RTB:
<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 должен иметь "бла-бла-бла Image бла-бла-бла" ,
Все, что можно было ожидать. Я не получаю никаких ошибок компиляции, и я могу запустить приложение, но как только метод завершится, я получаю доступ к тому, что кажется экраном ввода текста. Я могу поднять клавиатуру и попытаться ввести что-то, но ничего не появляется. Кнопка «Назад» приводит меня в главное меню Windows виртуального телефона.
Вещи я пытался это IsEnabled
и IsReadOnly
Любые предложения? Может, мне здесь что-то не хватает. Мне кажется, что приложение пытается разрешить ввод текста из RTB, но я не совсем уверен. Извините, если я не имею никакого смысла, сообщите мне, нужно ли мне что-то прояснить. Спасибо за ваши старания! :)
Обновление - Прокомментировал часть изображения и if/else, и просто он дал дамп, не проверяя изображение, и мой текст приходит, хотя и отлично, без изображения. Так он показывает, как «бла-бла-бла Т бла бла бла»
Таким образом, код, который работает без изображения:
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);
}
}