Подтвердить что ты не робот

Wpf - привязка stringformat на ярлыке с использованием строкового литерала

Я привязал всплывающую подсказку элемента управления слайдера к свойству Value и я пытаюсь использовать StringFormat, чтобы он отображал текущее значение {0} из 10 ", где {0} - свойство Value. Ниже приведена одна из тех вещей, которые я пробовал, пытаясь понять это.

<Slider.ToolTip>
  <Label>
    <Label.Content>
      <Binding StringFormat="Current Value {0} of 10"
               ElementName="DebugLevelSlider"
               Path="Value" />
    </Label.Content>
  </Label>
</Slider.ToolTip>

У меня возникают проблемы с поиском примеров онлайн о том, как использовать stringformat со строковыми литералами, такими как мои выше. Я вижу много преобразований формата даты/времени/валюты в формате stringformat. Я думаю, что у меня есть способ сделать это с помощью многозадачности, но это просто лишний объем работы, чем необходимо. Я надеюсь, что для форматирования строкового литерала мне все равно не нужно писать настраиваемый конвертер.

В моем приложении я нахожу, что использую много дополнительных ярлыков рядом с элементами, поэтому получение понимания в строчном формате, надеюсь, позволит мне устранить некоторые из этих ненужных меток.

4b9b3361

Ответ 2

Label.Content - объект, поэтому вы не можете использовать Binding.StringFormat там, где целевой тип привязки должен быть string, чтобы он работал.

Два подхода: используйте TextBlock вместо Label и привяжите свойство Text.

Используйте Label.ContentStringFormat i.e.

<Label ContentStringFormat="Current Value {0} of 10" Content={Binding ...} />

Вам нужно только избежать string с помощью {}, если ваш первый символ - {