У меня есть некоторые полезные wpf кнопки для тестирования некоторой функциональности. Было бы хорошо не показать им в выпуске, но в отладке действительно.
Выполнение его из кода легко. Но я предпочел бы декларативное решение.
Единственное известное мне решение - создать статическое свойство где-нибудь вроде этого:
public static Visibility IsDebug
{
#if DEBUG
get { return Visibility.Visible; }
#else
get { return Visibility.Collapsed; }
#endif
}
Затем использовать его в XAML следующим образом:
<MyControl Visibility="{x:Static local:MyType.IsDebug}" />
В XAML нет ничего для флагов компилятора.
Насколько мне известно, нет возможности использовать константы конфигурации (отладка, выпуск) из XAML.
Лучшее, что вы можете сделать, - это привязать свойство Visibility кнопок к свойству Debug в вашем контексте данных. Но для установки этого свойства все равно потребуется некоторый код.