Форум программистов, компьютерный форум CyberForum.ru

Изменение системного цвета выделения Listbox WP 8.1 C# - Windows Phone

Восстановить пароль Регистрация
 
wshadw
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 17
06.02.2015, 14:50     Изменение системного цвета выделения Listbox WP 8.1 C# #1
Написал плеер, вроде всё отладил всё норм но...Изменение системного цвета выделения Listbox WP 8.1 C#
Как изменить цвет выделения ListBox, на данный момент выделение определяется цветом системы.

пс со стилями работать почти не умею, поэтому надеюсь на более менее подробный ответ)

Заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2015, 14:50     Изменение системного цвета выделения Listbox WP 8.1 C#
Посмотрите здесь:

Windows Phone Listbox: длинный заголовок
Windows Phone Создание стиля для выделенного элемента у listbox
Windows Phone Какое свойство Button отвечает за смену цвета при нажатии?
Не обновляется ListView при изменение данных в ItemsSource Windows Phone
ListBox. По нажатию получить свойство объекта Windows Phone
Windows Phone Изменение переменной с другой страницы
Windows Phone ListBox обновить данные
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
krupa
 Аватар для krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
06.02.2015, 16:14     Изменение системного цвета выделения Listbox WP 8.1 C# #2
добавьте вот такой вот стиль.

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<Style x:Key="MySelectionListBoxItemStyle" TargetType="ListBoxItem">
            <Setter Property="Background" Value="Transparent"/>
            <Setter Property="BorderThickness" Value="0"/>
            <Setter Property="BorderBrush" Value="Transparent"/>
            <Setter Property="Padding" Value="0"/>
            <Setter Property="HorizontalContentAlignment" Value="Left"/>
            <Setter Property="VerticalContentAlignment" Value="Top"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="ListBoxItem">
                        <Border x:Name="LayoutRoot" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" HorizontalAlignment="{TemplateBinding HorizontalAlignment}" VerticalAlignment="{TemplateBinding VerticalAlignment}">
                            <VisualStateManager.VisualStateGroups>
                                <VisualStateGroup x:Name="CommonStates">
                                    <VisualState x:Name="Normal"/>
                                    <VisualState x:Name="MouseOver"/>
                                    <VisualState x:Name="Disabled">
                                        <Storyboard>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="LayoutRoot">
                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource TransparentBrush}"/>
                                            </ObjectAnimationUsingKeyFrames>
                                            <DoubleAnimation Duration="0" To=".5" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="ContentContainer"/>
                                        </Storyboard>
                                    </VisualState>
                                </VisualStateGroup>
                                <VisualStateGroup x:Name="SelectionStates">
                                    <VisualState x:Name="Unselected"/>
                                    <VisualState x:Name="Selected">
                                        <Storyboard>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentContainer">
                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Red"/>
                                            </ObjectAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualState>
                                </VisualStateGroup>
                            </VisualStateManager.VisualStateGroups>
                            <ContentControl x:Name="ContentContainer" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
а ListBox'у

XML
1
<ListBox ItemContainerStyle="{StaticResource MySelectionListBoxItemStyle}"/>
я думаю, вы увидели, где я поставил красный
wshadw
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 17
06.02.2015, 17:34  [ТС]     Изменение системного цвета выделения Listbox WP 8.1 C# #3
krupa, Премного благодарен за ответ, стиль применился, но выделения теперь совсем нету, никакой визуальной реакции на касания

Добавлено через 3 минуты
и ещё, Value="{StaticResource TransparentBrush}" подчеркивает и пишет, не удалось разрешить ресурс "TransparentBrush"
krupa
 Аватар для krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
06.02.2015, 18:56     Изменение системного цвета выделения Listbox WP 8.1 C# #4
Value="Transparent"

попробуйте напрямую так написать.
wshadw
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 17
06.02.2015, 19:34  [ТС]     Изменение системного цвета выделения Listbox WP 8.1 C# #5
krupa, не, всё равно подчеркивает, даже если всё убрать, я думаю это второстепенная проблема, первая это то что не выделяет, а потом уже снимать

я помню вы про листвьюв писали, попробовал его, у него вообще выделение не визуализируется никак, гугл не помог, для десктопа нашёл способ, но на вп он не пашет

Добавлено через 22 минуты
krupa, таки получилось изменить цвет, причем не костылями))
XML
1
2
3
4
5
6
7
<ResourceDictionary>
     <ResourceDictionary.ThemeDictionaries>
          <ResourceDictionary x:Key="Default">
               <SolidColorBrush x:Key="ListBoxItemSelectedBackgroundThemeBrush" Color="#f7f6f6" />
          </ResourceDictionary>
     </ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
krupa
 Аватар для krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
06.02.2015, 20:00     Изменение системного цвета выделения Listbox WP 8.1 C# #6
Цитата Сообщение от wshadw Посмотреть сообщение
у него вообще выделение не визуализируется никак
там вроде бы были проблемы с родным стилем от microsoft.
если интересно - могу сделать и с ListView вам небольшой примерчик со стилями.
wshadw
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 17
06.02.2015, 20:15  [ТС]     Изменение системного цвета выделения Listbox WP 8.1 C# #7
krupa, да не, спасибо, не надо), нужно интерфейс ещё добить да в магазин выложить)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2015, 02:16     Изменение системного цвета выделения Listbox WP 8.1 C#
Еще ссылки по теме:

C# Изменение стандартного цвета выделения текста
Windows Phone При смене цветовой темы запретить изменение цвета компонентов внутри приложения
Windows Phone ListBox удаление элемента
Windows Phone Изменение заголовка Pivot
Windows Phone Программное изменение цвета grid

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
krupa
 Аватар для krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
07.02.2015, 02:16     Изменение системного цвета выделения Listbox WP 8.1 C# #8
окей. будет интересно посмотреть. как выложите - обновите в теме
Yandex
Объявления
07.02.2015, 02:16     Изменение системного цвета выделения Listbox WP 8.1 C#
Ответ Создать тему
Опции темы

Текущее время: 18:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru