Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2015, 02:04   #1
alezha
Форумчанин
 
Регистрация: 16.04.2011
Сообщений: 126
По умолчанию MultiBinding проверить все индексы Listview

Есть проблема. Хочу проверить все индексы в ListView. Если они совпадают с CurrentActiveIndex, то изменить значение Background. Вот что получилось.

Код:
        <mvvmLight1:MultiConverter x:Key="SomeMultiConverter" />
        <Style TargetType="{x:Type ListViewItem}">
            <Style.Triggers>
                <DataTrigger Value="True">
                    <DataTrigger.Binding>
                        <MultiBinding Converter="{StaticResource SomeMultiConverter}">
                            <Binding RelativeSource="{RelativeSource FindAncestor, AncestorType=ListViewItem}"></Binding>
                            <Binding Path="CurrentActiveIndex"></Binding>
                        </MultiBinding>
                    </DataTrigger.Binding>
                    <Setter Property="Background" Value="Blue" />
                </DataTrigger>
             </Style.Triggers>
        </Style>

SomeMultiConverter.cs
Код:
public class MultiConverter : IMultiValueConverter
    {
        public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            DependencyObject item = (DependencyObject)values[0];
            ItemsControl ic = ItemsControl.ItemsControlFromItemContainer(item);

            return ic.ItemContainerGenerator.IndexFromContainer(item) == (int)values[1];
        }

        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
происходит ошибка в
Код:
DependencyObject item = (DependencyObject)values[0];
: Unable to cast object of type 'MS.Internal.NamedObject' to type 'System.Windows.DependencyObject'.
alezha вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MultiBinding.StringFormat: не работает D][mon WPF, UWP, WinRT, XAML 3 10.09.2014 18:52
проверить все ли элементы в массиве различны. Proskurina Паскаль, Turbo Pascal, PascalABC.NET 15 18.09.2012 03:08
проверить все ли элементы в массиве различны. Proskurina Помощь студентам 7 08.09.2012 23:36
Как узнать индексы выделенных итемов в ListView при OwnerData? 3D Hunter Общие вопросы Delphi 3 02.10.2009 10:24
как проверить все ли поля заполнены в СТРОКЕ ? Максим-2 Компоненты Delphi 6 03.08.2007 22:31