Я новичок в WPF и пытаюсь объединить некоторые концепции, о которых я читаю.Как использовать WPF для отображения локализуемого и динамического текста?
Что я пытаюсь сделать, это построить локализованный пользовательский интерфейс. Для простоты предположим, что я создаю пользовательский интерфейс со строкой: «Файл занимает 2 ГБ на диске».
Часть «2 ГБ» является динамической. Значение может меняться в зависимости от файла, который пользователь выбирает. Во-вторых, преобразование должно занимать от ulong (размер файла байтов) до строки (дружественный размер, используя соответствующие единицы, например KB, MB, GB, TB и т. Д.).
Я думал, что IValueConverter
будет наиболее подходящим для подсчета байтов для преобразования в дружественный файл. Я также думал, что я буду хранить «Файл занимает {0} на диске». как строковый ресурс.
Я не уверен, что IValueConverter
будет полезен здесь. Может ли он использоваться с String.Format()
? Я не вижу, как это можно использовать в привязке напрямую, потому что мы вставляем результат преобразования в локализованный текстовый шаблон.
Есть ли лучший способ приблизиться к этому?
Локализация более относится к дате и валютных форматам, используемым различными культурами. Насколько мне известно, KB, MB, GB и TB одинаковы во всех культурах. Поэтому я бы просто использовал конвертер. – Paparazzi
Очевидно, что KB, MB, GB и TB - это то, что он называет «динамическим текстом», и что «локализуемая» часть - это «Файл занимает {0] на диске.» - для i18n/translation. – ANeves