Не могу использовать апострофы в StringFormat привязки XAML?

Я пытаюсь использовать StringFormat для вставки апострофов (apostrophe's?) вокруг значения, которое привязано к TextBlock:

<TextBlock Text="{Binding MyValue, StringFormat='The value is &apos;{0}&apos;'}"/>

Однако я получаю ошибку компиляции:

Имена и значения в MarkupExtension не могут содержать кавычки. Аргументы MarkupExtension ' MyValue, StringFormat='The value is '{0}''}' не являются допустимыми.

Однако я заметил, что это работает для кавычек:

<TextBlock Text="{Binding MyValue, StringFormat='The value is &quot;{0}&quot;'}"/>

Это ошибка StringFormat?

12
задан K Mehta 10 November 2011 в 09:37
поделиться

1 ответ

Просто встреченный эта проблема для UWP создание StringFormatConverter ConverterParameter для значения TimeSpan. TimeSpan. ToString (x) пользовательская строка формата по некоторой сумасшедшей причине требует апострофов вокруг буквенных символов даже при том, что DateTimeOffset не делает. Кажется напрасно непоследовательным.

Так или иначе... Ни одно из вышеупомянутого успешно не работало. Один подход работал до того, чтобы заставлять разработчика XAML отображать/работать, но это создало ошибку сборки.

решение, на которое я обосновался, состояло в том, чтобы поместить строку формата в строковый ресурс ближайшего элемента включения. Так как я отображал значение в поле, созданном с помощью Границы, я наполнил строку формата в ресурсы элемента Границы.

StringFormatConverter является тем от Microsoft UWP Toolkit на NuGet.

<StackPanel Orientation="Horizontal">
  <TextBlock Text="Timespan=" />
  <Border BorderBrush="Black" BorderThickness="0.5" Padding="2">
    <Border.Resources>
      <x:String x:Key="TimespanValueConverterParameter">{0:hh':'mm':'ss'.'fff}</x:String>
    </Border.Resources>
    <TextBlock Text="{Binding TimespanValue, Mode=OneWay, Converter={StaticResource StringFormatConverter}, ConverterParameter={StaticResource TimespanValueConverterParameter}}" />
  </Border>
</StackPanel>
0
ответ дан 2 December 2019 в 05:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: