Я новичок в WPF и нахожу удивительно скудную информацию о том, что, по моему мнению, является основной проблемой, которая заключается в использовании целого числа для текста в TextBlock. Вот как я определил свои ресурсы в app.xaml
:Преобразование типа в xaml
xmlns:sys="clr-namespace:System;assembly=mscorlib"
и
<Application.Resources>
<sys:Int32 x:Key="MyResourceName">-1</sys:Int32>
</Application.Resources>
Это правильно определена и функциональная, так как VS находит в том, когда я пытаюсь использовать его в простой TextBlock объекта:
<TextBlock Name="MyTextboxName" Text="{DynamicResource MyResourceName}" />
Проблема заключается в том, что он генерирует ошибку, объясняя, конечно, что он не может преобразовать целое число в строку по умолчанию. Обычно я бы бросил его, прежде чем я понял, что набираю текст, но я не знаю, как отличить его от xaml. Я считал обязательным, но он, похоже, не сфокусирован на пользовательских переменных так сильно и будет более громоздким, поэтому я посмотрел на конвертеры. Я также мало узнал о преобразовании целых чисел в строки в xaml. Если нет решения, я могу просто сделать строки переменных и преобразовать их в целые числа или плавать только для конверсий, а затем преобразовать их обратно, но это будет серьезной (и грязной) болью.
Edit: Чтобы было ясно, я действительно задаю два вопроса:
- имеет тип преобразования возможный только в XAML?
- Есть ли конвертер по умолчанию для преобразования одного примитивного типа в другой?
Хорошо, как насчет использования ярлыка вместо этого и установите его свойство 'Content'? Вы также можете установить его свойство ContentStringFormat. – Clemens