Как упомянуто в других ответах, это, очевидно, является обязанностью взгляда. Модель представления должна предоставлять свойство данных (перечисление состояния или что-то подобное) для просмотра для просмотра, чтобы определить особенности отображаемого сообщения. С точки зрения пуристов, генерация свойств отображения из виртуальной машины или кода позади.
Я удивлен, что не слышал никаких предложений от провайдеров данных. Используйте их в вашем TextBlock, чтобы привязать к отображаемому значению перечисления статуса и соответствующим образом обновить текст. Этот вопрос сравнивает их производительность с привязкой к конвертеру и предполагает, что триггеры будут работать лучше в этом сценарии. Я сам не проводил никакого тестирования, поэтому я не уверен, но это кажется мне интуитивно понятным, если вы не слушаете огромное количество различных значений перечисления. Я также думаю, что в этом случае это более подходящий метод, и я приведу этот вопрос с просьбой сравнить варианты использования VC и DT , хотя я не думаю, что он ужасно спорный. Другими словами, , если , считается, что виртуальная машина является конвертером значений на стероидах (утверждение, которое я очень опасаюсь и с которым не согласен или не согласен в данный момент). ), то этот аргумент верен: виртуальная машина не должна отображать свойства экрана; цель и возможности виртуальной машины являются супер-набором возможностей виртуальной машины; поэтому VC не должен выставлять свойства дисплея.
Я делаю все возможное, чтобы дать ответ пуриста (или, по крайней мере, я думаю, что он есть), но, безусловно, существуют более простые способы его кодирования, чем написание большого количества метаданных, особенно если у вас много разных значений для адрес.
Что касается вопроса о ресурсах, взгляните на эту статью MSDN о файлах ресурсов , с которой в некоторых отношениях легче работать, чем с файлом resx. Какой подход вы должны использовать, зависит от ваших вариантов использования.