Я использую BooleanToVisibilityConverter для отображения или скрытия TimePicker на основе установленного переключателя:
<BooleanToVisibilityConverter x:Key = "b2v" />
<RadioButton Content = "Enable" IsChecked = "True" Name = "ExportByHour"/>
<RadioButton Content = "Hide" />
<materialDesign:TimePicker
IsEnabled = "{Binding IsChecked, ElementName=ExportByHour, Converter = {StaticResource b2v}}"
IsInvalidTextAllowed = "False"
Is24Hours = "True"/>
К сожалению, у меня это работает только со свойством Visibility, почему?





Вы неправильно поняли назначение преобразователя BoolToVisibility. Его можно использовать только со свойством Visibility.
Свойство Visibility имеет три состояния: Visible, Collapsed и Hidden.
Распространенный вариант использования - привязать свойство Visibility элемента управления к логическому свойству в модели представления, чтобы true и false преобразовывались в visible и сворачивались. Здесь вы можете использовать преобразователь BoolToVisibility.
Нет смысла использовать этот преобразователь для других свойств. IsEnabled - это логическое свойство, которое можно напрямую связать с логическим свойством в модели представления без использования преобразователя.
На первый взгляд, преобразователь видимости вернет либо
Visible, либоCollapsed, либоHidden, но не вернет фактическийTrueилиFalse, который требуется для свойстваIsEnabled.