2013-03-28 4 views
-1

Как мы выяснили, если ключ не был найден, это вызовет исключение. Но есть способ предотвратить это и просто установить видимость элемента управления, чтобы быть Hidden? Или дать ему FallbackValue так же, как Binding?WPF: предотвратить повышение «StaticResource не решается» Исключение?

Простой пример:
<TextBlock Text="{StaticResource myKey}"/>
Теперь «MYKEY» не будет определен, он будет вызывать исключение по default.But Я желаю я могу установить Visiblity TextBlock, чтобы быть скрыты:
<TextBlock Text="nothing here" Visibilty="Hidden">
или:
<TextBlock Text="nothing here" FallbackValue="default value"> (Примечание: «FallbackValue» does'nt действительно exsit)
, то приложение может continue.Nothing неправильно, ура :)

+0

Бросьте немного больше подробностей, и люди, скорее всего, получат ваш вопрос немного более открыто. – plast1K

+0

@ plast1K Извините за это, это просто простая идея, немного странная, может быть :) –

+0

имейте проблемы с пониманием, почему вы хотите привязать свой текст propety к статическому ресурсу, если он будет динамичным. возможно, вы должны использовать привязку данных вместо этого? для части видимости вы можете использовать datatrigger, который скрывает текстовое поле, если текст является нулевым, а другой datatrigger, который скрывает его, когда текст пуст. – failedprogramming

ответ

0

Простая реализация:
Мы можем наследовать StaticResourceExtension (Да, это не запечатан :)), затем переопределить метод ProvideValue, вернуть значение по умолчанию.
Решено :)

0

до сих пор я мог понять ваш вопрос, вы можете поместить свой код в статью Ьги , и поймать исключение .. Оно по крайней мере позволит вам выполнить операцию с элементом управления. (Помните, что вы можете использовать, наконец, пункт для силового исполнения) ..

Если мое предположение неверно, я извиняюсь заранее и попросить, чтобы быть более конкретным :) удачи

+0

Вы, к сожалению, не сможете поставить 'try {} catch {}' в XAML. – plast1K

+0

Еще спасибо :) –

 Смежные вопросы

  • Нет связанных вопросов^_^