У меня есть интерфейс с несколькими кнопками. Я бы хотел включить или отключить эти кнопки в соответствии с «сложным» состоянием. Я объявил это MultiBinding как ресурс приложения для того, чтобы избежать повторения кода:Связать свойство с существующим привязкой
<MultiBinding x:Key="MyMultiBinding" Converter="{StaticResource ResourceKey=MyConverter}">
<Binding Path="IsConnected" />
<Binding Path="IsOpened" />
</MultiBinding>
Вот как я объявляю мою кнопку:
<Button Name="MyButton" Content="Click me!" IsEnabled="{StaticResource ResourceKey=MyMultiBinding}" />
Во время выполнения я получаю следующее сообщение об ошибке: «Установить свойство IsEnabled бросил исключение ... MultiBinding не является допустимым значением для свойства IsEnabled ".
Не могу понять, почему это не работает. Не могли бы вы указать мне правильный способ сделать это? Спасибо.
Не уверен, что если ' MultiBinding' даже разрешен как ресурс. Я даже не могу его скомпилировать. «A MultiBinding» не может быть задано в свойстве «Значение» типа «DictionaryEntry». «MultiBinding» может быть установлен только в DependencyProperty объекта DependencyObject. «Самый простой способ состоит в том, чтобы действительно превратить его в« стиль »и сделать ваше свойство. Связывание там и применить этот стиль к вашему элементу управления либо с помощью определенного ключа или сделать его неявным. [Пример] (http://stackoverflow.com/a/14970686/1834662) – Viv
В качестве ресурса разрешено использование MultiBinding. Я могу добавить его в Application.Resources без каких-либо проблем. Во всяком случае, я превратил его в стиль, и это работает. Спасибо! –