Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/88: Рейтинг темы: голосов - 88, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 25.10.2017
Сообщений: 119

WPF: Material Design

28.10.2019, 21:28. Показов 16315. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть такая библиотека - Material Design In XAML Toolkit. Скачал с github демо-версию. В демо-программе есть меню слева (drawer), которое выходит при нажатии на кнопку. Хотел себе такое же сделать, но не получается. Прошу, объяснить мне как это делается.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.10.2019, 21:28
Ответы с готовыми решениями:

Cross resolution application, adaptive UI design. Не получается в WPF. Как сделать?
Всем привет. Пытаюсь "построить" простенький UI для разрешения мин: 1024x768 и макс: 1920x108. Картинка ведет себя "прилично". ...

Правильное использование Material Design
Добрый день! Как правильно использовать MAterial Design? Android 4.0 - Android 5.0.x Нормально ли использовать ...

Material design для api10
Доброй ночи! Пишу приложения с требованиями по build target API 10. Хотелось бы сделать в рамках новой концепции material design....

5
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
28.10.2019, 21:35
AbraHa,
1) где скришнот хотя бы того что нужно?
2) людей в этом разделе на порядок меньше, чем в формах, а те кто пользовался этот библой -по пальцам пересчитать. Шансы на то что вам помогут стремительно стремяться к 0. Пишите без библиотек - и вам, возможно, помогут.
3) почему не написать создателям библиотеки?
4) примеров по запросу в гугле dropbox menu wpf - десятки.
0
1 / 1 / 0
Регистрация: 25.10.2017
Сообщений: 119
28.10.2019, 21:41  [ТС]
Цитата Сообщение от Рядовой Посмотреть сообщение
1) где скришнот хотя бы того что нужно?
С загрузкой проблема была
Цитата Сообщение от Рядовой Посмотреть сообщение
2) людей в этом разделе на порядок меньше, чем в формах, а те кто пользовался этот библой -по пальцам пересчитать. Шансы на то что вам помогут стремительно стремяться к 0. Пишите без библиотек - и вам, возможно, помогут.
Данная библиотека довольно известная. Думаю, тех, кто пользовался ею, тоже не мало
Цитата Сообщение от Рядовой Посмотреть сообщение
3) почему не написать создателям библиотеки?
Создатель - Google. Сомневаюсь, что получится связаться.
Миниатюры
WPF: Material Design  
0
180 / 95 / 25
Регистрация: 04.02.2016
Сообщений: 308
Записей в блоге: 3
24.03.2020, 13:47
Если еще актуально

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<Grid>
<!--Основной элемент, в котором будет все содержимое окна-->
        <materialDesign:DrawerHost
                HorizontalAlignment="Stretch"
                VerticalAlignment="Stretch"
                BorderThickness="0"
                BorderBrush="{DynamicResource MaterialDesignDivider}" Margin="0">
<!--Собственно, сама выдвижная панель-->
            <materialDesign:DrawerHost.LeftDrawerContent>
                <StackPanel Margin="5" Width="300">
                    <Button Content="Кнопка1" Height="30"
                            Style="{StaticResource MaterialDesignFlatButton}"/>
                    <Button Content="Кнопка2" Height="30"
                            Style="{StaticResource MaterialDesignFlatButton}"/>
                    
 
                    <Separator Style="{StaticResource MaterialDesignDarkSeparator}" 
                               Margin="10"/>
 
                    <Button
                            Command="{x:Static materialDesign:DrawerHost.CloseDrawerCommand}"
                            CommandParameter="{x:Static Dock.Left}"
                            Margin="4"
                            HorizontalAlignment="Center"
                            Style="{DynamicResource MaterialDesignFlatButton}">
                        <StackPanel Orientation="Horizontal">
                            <materialDesign:PackIcon Kind="CloseBoxOutline" Foreground="{StaticResource PrimaryHueDarkBrush}"
                                                 Height="25" Width="25"/>
                            <TextBlock Text="Закрыть" Foreground="{StaticResource PrimaryHueDarkBrush}" Margin="3"/>
                        </StackPanel>
                    </Button>-->
                </StackPanel>
 
<!--Тут контент самого окна-->
            </materialDesign:DrawerHost.LeftDrawerContent>        
            <Grid>
                <Grid VerticalAlignment="top" HorizontalAlignment="Stretch">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="40" />
                        <RowDefinition Height="{Binding ActHeight}" />
                    </Grid.RowDefinitions>
 
                 <!--Верхняя панель-->
                    <materialDesign:ColorZone
                                Mode="Standard"
                                Padding="0">
                        
                        <DockPanel VerticalAlignment="Center" Margin="5,2,2,2" Height="40">
                            <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
                                <!--MenuButton-->
                                <Button x:Name="ButtonOpen" HorizontalAlignment="Left" VerticalAlignment="Top" 
                                        Background="{x:Null}" BorderBrush="{x:Null}" Width="40" Height="40" Padding="0"
                                        Command="{x:Static materialDesign:DrawerHost.OpenDrawerCommand}"
                                        CommandParameter="{x:Static Dock.Left}">
                                    <materialDesign:PackIcon Kind="Menu" Foreground="{StaticResource PrimaryHueMidBrush}" Width="30" Height="30"/>
                                </Button>
                                
                            </StackPanel>
                            
                            
                        </DockPanel>
                        
                    </materialDesign:ColorZone>
 
                    <!--Тут основной контент-->
                    <StackPanel Grid.Row="1" Orientation="Vertical" HorizontalAlignment="Stretch" VerticalAlignment="Top">
                        <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
                            <ContentControl x:Name="ContentField" Content="{Binding CurrentControl}" Opacity="{Binding FrameOpacity}" MaxHeight="{Binding ActHeight}"/>
                        </ScrollViewer>
                        
                    </StackPanel>
                    
                </Grid>
            </Grid>
        </materialDesign:DrawerHost>
    </Grid>
Добавлено через 3 минуты
Для меня пока непонятным остается только как
XML
1
Command="{x:Static materialDesign:DrawerHost.CloseDrawerCommand}"
реализовать через mvvm
2
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16115 / 11236 / 2887
Регистрация: 21.04.2018
Сообщений: 33,037
Записей в блоге: 2
24.03.2020, 14:14
Цитата Сообщение от Hugonavy Посмотреть сообщение
Для меня пока непонятным остается только как
Для этого надо смотреть на параметры инициализации DrawerHost.CloseDrawerCommand.
Возможно она и не предусматривает её использование в MVVM.
0
180 / 95 / 25
Регистрация: 04.02.2016
Сообщений: 308
Записей в блоге: 3
15.04.2020, 10:56
Лучший ответ Сообщение было отмечено Элд Хасп как решение

Решение

Цитата Сообщение от Элд Хасп Посмотреть сообщение
Возможно она и не предусматривает её использование в MVVM
Предусматривает)) Вопрос решил. У DrawerHost (как и у DialogHost и у всех прочих элементов MaterialDesign) есть свойство IsOpen. Вот к нему и надо биндиться, чтобы из MVVM на него воздействовать.
XML
1
2
3
4
5
6
7
8
<materialDesign:DrawerHost
                HorizontalAlignment="Stretch"
                VerticalAlignment="Stretch"
                BorderThickness="0"
                BorderBrush="{DynamicResource MaterialDesignDivider}" Margin="0"
                IsLeftDrawerOpen="{Binding IsDrawerOpen}">
....
</materialDesign:DrawerHost>
А далее уже IsDrawerOpen открывает (true) или закрывает (false) боковое меню
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.04.2020, 10:56
Помогаю со студенческими работами здесь

Material Design. Dialog с текстом
Всем привет. Подскажите пожалуйста, есть ли аналог AlertDialog в Material Design, в котором вместо сообщения, помещается большое количество...

Google material design - Ваше мнение?
Что нового привносит эта концепция в современный веб-дизайн? Я ничего нового для себя не узнал, ИМХО.

Создание RSS на базе Material Design
Добрый день! Подсел на тему Материал Дизайн. Уж очень она мне понравилась. Сам никогда не разрабатывал приложения под андроид, а тут...

Приложение-анкета по канонам material design
Здравствуйте. Начинаю постигать андроид. До этого юзабельных приложений не создавал. Поставил перед собой такую задачу: написать...

Есть ли современные компоненты Material Design
Есть ли современные компоненты material design?А то даже прошлогодние компоненты устарели.Всё,что я нашёл в NuGet устарели и их нельзя...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru