Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
5 / 5 / 0
Регистрация: 12.08.2015
Сообщений: 340

Создание пользовательского окна. В Дизайнере не применяется заданный стиль. После запуска всё ОК.

29.09.2021, 14:01. Показов 2974. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо создать свой базовый класс окна на основе существующего Window. У этого окна будет свой внешний вид и свои дополнительные свойства. Необходимо также, чтобы все окна, которые наследуются от моего пользовательского окна, отображались в дизайнере со всеми особенностями пользовательского окна.
Есть идея создать
C#
1
public class MyWindow : Window
и присвоить в конструкторе классу MyWindow стиль этого окна, а также создать требуемые свойства. Но проблема в том, что этот стиль будет подтягиваться только во время работы программы, а хотелось бы его уже увидеть в дизайнере. При этом XAML разметки у MyWindow нет (как у обычных контролов), т.к. это root элемент.
Как подцепить стиль для пользовательского окна во время разработки? Или возможно есть какой-то другой путь?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.09.2021, 14:01
Ответы с готовыми решениями:

Не получается убрать белую рамку и вид окна в дизайнере не соответсвует реальному виду окна после запуска программы
Делал свой простенький Splash Screen с прогресс баром. В 2012-ой студии под Windows 8 все было ок. А вот я запустил этот самый проект в...

После запуска GTA: San Andreas "деактивируются" все остальные окна программ
Доброго времени, народ. Вижу я не один такой... После запуска GTA San Andreas стали постоянно глючить окна программ, будто я между ними...

Как увидеть отрисовку пользовательского компонента в дизайнере?
Всем здравствуйте. Есть стандартный пустой компонент, представленный в своём дизайнере прямоугольником. Задача: нарисовать на нём...

31
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
30.09.2021, 10:27
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от proa33 Посмотреть сообщение
как влияет на архив из поста №10
Ни как.

Добавлено через 2 минуты
proa33, скиньте архив с папкой .vs.
Может оттуда какие-то настройки подхватятся и смогу понять в чём разница.
0
1596 / 601 / 185
Регистрация: 05.12.2015
Сообщений: 970
30.09.2021, 11:08
winbase.zip
эта тема уходит в сторону настроек студии. Трудно будет согласовать.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
30.09.2021, 12:08
Цитата Сообщение от proa33 Посмотреть сообщение
winbase.zip
Так же - в Дизайнере белое Окно, после запуска - зелёное.

Цитата Сообщение от proa33 Посмотреть сообщение
эта тема уходит в сторону настроек студии. Трудно будет согласовать.
Так весь вопрос темы и заключается в этом:
Цитата Сообщение от Semyon001 Посмотреть сообщение
хотелось бы его уже увидеть в дизайнер
Просто в самом названии темы это не уточнено.
Я сейчас отредактирую название для ясности.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
02.10.2021, 00:46
proa33, просьба проверить.
Есть Реп по адресу https://github.com/UseMuse/Lis... ickCommand.
Попробуйте его клонировать и запустить.
У меня в этом проекте также в Дизайнере неполностью отображаются данные.
Очень интересно - как будет у вас.
0
1596 / 601 / 185
Регистрация: 05.12.2015
Сообщений: 970
02.10.2021, 12:34
Элд Хасп,
1
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
02.10.2021, 12:42
proa33, спасибо!
У меня в дизайнере пусто - не работает конвертер.
Поэтому дочерние элементы не отображаются.
До, этого я думал, что это у всех так.

А теперь даже мысли в голову не приходит из-за чего это может быть и куда надо копать чтобы исправить....
0
1596 / 601 / 185
Регистрация: 05.12.2015
Сообщений: 970
02.10.2021, 13:31
Элд Хасп,
Средства - Импорт и экспорт параметров.
Экспортировал этот фрагмент:

Можно открыть как XML:
xaml_only.zip
Можете экспортировать свой фрагмент и сравнить.
Либо импортировать.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
02.10.2021, 13:59
Цитата Сообщение от proa33 Посмотреть сообщение
Либо импортировать.
Свои настройки сохранил, но пока не сравнивал с вашими.
Ваши импортировал себе.
Проект с Гита - стал в дизайнере нормально показывать.
Проект с пользовательским Окном - так же в дизайнере просто белый фон.

Архив с моими и вашими настройками: vs_settings.zip
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
02.10.2021, 14:06
proa33, у вас кие ОС и VS?
У меня Win10 и VS2019.
И там, и там - со всеми обновлениями.
0
1596 / 601 / 185
Регистрация: 05.12.2015
Сообщений: 970
02.10.2021, 14:17
Элд Хасп,
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
02.10.2021, 14:27
proa33, Студия у меня 16.11.3.
Но думаю, скорее всего, причина в Винде.
До 8.0 в WPF используются другие шаблоны, и по другому происходит работа с ними.
Начиная с 8.1 были внесены очень сильные изменения.

Поэтому многие решения используемые в WPF для Win7 не работают на +8.1.

Вот, для примера, дефолтный шаблон кнопки у меня - сверьте его с тем, что стоит у вас:
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
        <Style x:Key="FocusVisual">
            <Setter Property="Control.Template">
                <Setter.Value>
                    <ControlTemplate>
                        <Rectangle Margin="2" SnapsToDevicePixels="true" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
        <SolidColorBrush x:Key="Button.Static.Background" Color="#FFDDDDDD"/>
        <SolidColorBrush x:Key="Button.Static.Border" Color="#FF707070"/>
        <SolidColorBrush x:Key="Button.MouseOver.Background" Color="#FFBEE6FD"/>
        <SolidColorBrush x:Key="Button.MouseOver.Border" Color="#FF3C7FB1"/>
        <SolidColorBrush x:Key="Button.Pressed.Background" Color="#FFC4E5F6"/>
        <SolidColorBrush x:Key="Button.Pressed.Border" Color="#FF2C628B"/>
        <SolidColorBrush x:Key="Button.Disabled.Background" Color="#FFF4F4F4"/>
        <SolidColorBrush x:Key="Button.Disabled.Border" Color="#FFADB2B5"/>
        <SolidColorBrush x:Key="Button.Disabled.Foreground" Color="#FF838383"/>
        <Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">
            <Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}"/>
            <Setter Property="Background" Value="{StaticResource Button.Static.Background}"/>
            <Setter Property="BorderBrush" Value="{StaticResource Button.Static.Border}"/>
            <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
            <Setter Property="BorderThickness" Value="1"/>
            <Setter Property="HorizontalContentAlignment" Value="Center"/>
            <Setter Property="VerticalContentAlignment" Value="Center"/>
            <Setter Property="Padding" Value="1"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Button}">
                        <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
                            <ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsDefaulted" Value="true">
                                <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
                            </Trigger>
                            <Trigger Property="IsMouseOver" Value="true">
                                <Setter Property="Background" TargetName="border" Value="{StaticResource Button.MouseOver.Background}"/>
                                <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource Button.MouseOver.Border}"/>
                            </Trigger>
                            <Trigger Property="IsPressed" Value="true">
                                <Setter Property="Background" TargetName="border" Value="{StaticResource Button.Pressed.Background}"/>
                                <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource Button.Pressed.Border}"/>
                            </Trigger>
                            <Trigger Property="IsEnabled" Value="false">
                                <Setter Property="Background" TargetName="border" Value="{StaticResource Button.Disabled.Background}"/>
                                <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource Button.Disabled.Border}"/>
                                <Setter Property="TextElement.Foreground" TargetName="contentPresenter" Value="{StaticResource Button.Disabled.Foreground}"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
0
1596 / 601 / 185
Регистрация: 05.12.2015
Сообщений: 970
02.10.2021, 15:43
Элд Хасп, пока у меня ограничения, позже все проверю.
Можно в VirtualBox попробовать другие системы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.10.2021, 15:43

Не применяется стиль из js
Здравствуйте, помогите, пожалуйста, разобраться. У меня есть страница, состоящая из 2 фреймов - шапка и основной контент. Мне нужно...

Не применяется стиль
Не понимаю почему не применяется стиль к submit'у! Подскажите решение, пожалуйста! Заранее огромное спасибо &lt;!DOCTYPE html&gt; ...

Не применяется стиль
Здравствуйте.Почему не применяется стиль css к id=&quot;contacts&quot;?Текст должен увеличится и стать красным. &lt;html&gt; &lt;head&gt; ...

Не применяется стиль
Добрый день, столкнулся с таким вопросом: есть некоторое View, на котором я тут же в xaml хочу определить стиль для Button и Textblock -...

Не применяется стиль к tr
Здравствуйте, подскажите пожалуйста, почему я не могу применить стиль к тегу tr таблицы: &lt;!DOCTYPE html&gt; &lt;html&gt; ...


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

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru