Grałem około z WPF na dłuższą chwilę teraz, ale po raz pierwszy dzisiaj, potrzebowałem zagnieździć się MultiBinding
wewnątrz innego, coś jak:Zagnieżdżony MultiBinding (s)
<MultiBinding>
<Binding />
<MultiBinding>
<Binding />
<Binding />
</MultiBinding>
</MultiBinding>
otrzymuję wyjątek wskazuje to nie jest dozwolony przez ramy:
XamlParseException był nieobsługiwany: Dodawanie wartości do kolekcji typu „System.Collections.ObjectModel.Collection (System.Windows.Data.BindingBase)” zwrócił wyjątek.
InnerException
jest bardziej wyraźne:
BindingCollection nie obsługuje elementów typu MultiBinding. Dozwolone jest tylko powiązanie.
Więc kopanie w Internecie po więcej informacji, natknąłem się na this Microsoft Connect issue co jest dokładnie moim problemem.
Dziękujemy za opinię. WPF nie obsługuje tego dzisiaj. Ta funkcja jest wymagana od lat (ostatnio na początku tego miesiąca - patrz https://connect.microsoft.com/WPF/feedback/details/650164/nested-multibinding). Będziemy to rozważać w przyszłych wydaniach.
Teraz zrobiłem mój spokój, że nie będzie mi łatwo. Nadal potrzebuję tego, jak zagnieżdżać MultiBindings?
Co to jest, że starasz się zrobić, że chcesz multibindings gniazdo? –
Konwertuję wartości logiczne ze złożonymi kolejnością pierwszeństwa i chociaż niektóre z nich są już wartościami logicznymi, inne wymagają najpierw konwersji, a zatem same są osadzone w innym 'IMultiValueConverter' (s). –
Jeśli inne MultiValueConverters mają nie więcej niż dwie wartości wejściowe, możesz użyć konwertera z parametrem zamiast ... lub możesz użyć konwertera ze złożonym parametrem do wprowadzania wielu wartości, co jest trochę pracy, ale powinno zrobić sztuczka. Jeśli to brzmi wykonalne, mógłbym wysłać próbkę? –