Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Оформление xaml формы / 25 сообщений из 28, страница 1 из 2
21.07.2011, 15:51
    #37361532
ZenForever
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
Добрый день
Нарисовал форму авторизации в xaml
хотелось бы чтоб опытный человек глянул и сказал все ли я правильно оформил, мне почему то кажется что что то не так...
Код: plaintext
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.
<Window x:Class="frmLogin.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Авторизация" Height="145" Width="410" WindowStyle="ToolWindow"  WindowStartupLocation="CenterScreen" ResizeMode="NoResize" >
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="3" />
            <RowDefinition Height="23" />
            <RowDefinition Height="8" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="8" />
            <ColumnDefinition Width="96" />
            <ColumnDefinition Width="8" />
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="75" />
            <ColumnDefinition Width="8" />
            <ColumnDefinition Width="75" />
            <ColumnDefinition Width="8" />
        </Grid.ColumnDefinitions>
        <Button Content="ОК" Grid.Column="4" Grid.Row="2"  Name="btnOk" IsDefault="True" Click="btnOk_Click" />
        <Button Content="Отмена" Grid.Column="6" Grid.Row="2"  Name="btnCancel" IsCancel="True" Click="btnCancel_Click" />
        <GroupBox Grid.Column="3" Grid.ColumnSpan="4" Header="Пользователь"  Name="groupBox1" >
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="*" />
                    
                    <RowDefinition Height="*" />
                </Grid.RowDefinitions>
                <StackPanel Grid.Row="0" Name="stackPanel1" Orientation="Horizontal" HorizontalAlignment="Right">
                    <Label Content="Имя:" HorizontalAlignment="Center" />
                    <ComboBox Text="asd" Width="200" Height="23" >
                        Иванов
                    </ComboBox>
                </StackPanel>
                <StackPanel Grid.Row="1"  Name="stackPanel2" Orientation="Horizontal" HorizontalAlignment="Right" >
                    <Label Content="Пароль:" HorizontalAlignment="Center"/>
                    <PasswordBox Width="200" Height="23" />
                </StackPanel>
            </Grid>
        </GroupBox>
        <Image Source="/frmLogin;component/Images/Penguins.jpg" Grid.ColumnSpan="1" Grid.Column="1"/>
    </Grid>
</Window>


...
Рейтинг: 0 / 0
29.07.2011, 15:26
    #37373047
enigmatic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
ZenForever,

Не супер опытный xaml'ер, но:
Юзайте margin/padding

Нет смысла давать имена стекпанелям и прочим гридам, если не собираетесь на них ссылаться

Нет смысла задавать высоты/ширины, если этим уже управляет панель

Код: plaintext
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.
<Window x:Class="WpfApplication1.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1"
        Height="145"
        Width="410">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="auto" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="auto" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <Image Grid.Row="0"
               Grid.Column="0"
               Width="100"
               Margin="5"/>
            <GroupBox Margin="5 0 5 5"
                      Header="text"
                      Padding="2"
                      Grid.Row="0"
                      Grid.Column="1">
                <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                </Grid.RowDefinitions>
                <StackPanel Grid.Row="0" HorizontalAlignment="Right" Orientation="Horizontal">
                    <Label Margin="0 0 2 0">1:</Label>
                    <TextBox Width="200" />
                </StackPanel>
                <StackPanel Grid.Row="1"
                            HorizontalAlignment="Right"
                            Orientation="Horizontal">
                    <Label Margin="0 0 2 0">2:</Label>
                    <TextBox Width="200" />
                </StackPanel>
            </Grid>
            </GroupBox>
        <StackPanel Grid.Column="1"
                    Grid.Row="1"
                    Orientation="Horizontal"
                    HorizontalAlignment="Right"
                    Margin="5 0 5 5">
            <Button Width="75"
                    Height="23"
                    Margin="0 0 10 0" />
            <Button Width="75"
                    Height="23" />
        </StackPanel>
    </Grid>
</Window>
...
Рейтинг: 0 / 0
29.07.2011, 16:44
    #37373296
koJIo6ok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
ZenForever,
покажите принтСкрин формы
...
Рейтинг: 0 / 0
02.08.2011, 10:45
    #37376426
ZenForever
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
Вот переделал
Код: plaintext
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.
<Window x:Class="frmLogin.authorization"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Авторизация" Height="140" Width="380" WindowStyle="ToolWindow" WindowStartupLocation="CenterScreen" ResizeMode="NoResize" Loaded="Window_Loaded">
    <Grid >
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="1*"/>
            <ColumnDefinition Width="3*"/>
        </Grid.ColumnDefinitions>
        <DockPanel LastChildFill="True" Grid.Column="1" Margin="0,0,5,0" >
            <StackPanel Margin="0,0,1,5" Orientation="Horizontal" DockPanel.Dock="Bottom" HorizontalAlignment="Right" >
                <Button Margin="0,0,5,0"  Width="70"  Content="Настройка" Visibility="Hidden" />
                <Button Margin="0,0,5,0"  Width="70"  Content="ОК" IsDefault="True" />
                <Button Width="70" Content="Отмена" Command="{Binding ExitCommand}" IsCancel="True" />
            </StackPanel>
            <GroupBox Header="Пользователь:"  Grid.Column="1" VerticalAlignment="Top" >
                <Grid Margin="0,1,0,0" >
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                    </Grid.RowDefinitions>
                    <TextBlock Grid.Column="0" Margin="1,1,2,1" Text="Имя:"/>
                    <ComboBox  Margin="0,0,0,1" Grid.Column="2" IsEditable="True" DropDownClosed="ComboBox_DropDownClosed">
                        <ComboBoxItem Selector.IsSelected="True">Григорьев</ComboBoxItem>
                        <ComboBoxItem>Сераговский</ComboBoxItem>
                        <ComboBoxItem>Елизаров</ComboBoxItem>
                    </ComboBox>
                    <TextBlock   Grid.Column="0" Margin="1,2,2,1" Text="Пароль:" Grid.Row="1"/>
                    <PasswordBox  Name="PasswordBox" Margin="0,2,0,0" Grid.Column="2" Grid.Row="1" MaxLength="16" KeyDown="PasswordBox_KeyDown" />
                </Grid>
            </GroupBox>
        </DockPanel>
        <Image Grid.Column="0" Source="/Images/User1.png" />
    </Grid>
</Window>

Вот скрин

http://saveimg.ru/show-image.php?id=22f80b17a4d54483be7ccdbbab4de3b3
...
Рейтинг: 0 / 0
02.08.2011, 11:44
    #37376566
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
Плохой вариант:
- фиксированные размеры
- везде присутсвуют Margin
- DockPanel - не самый шустрый вариант, без которого можно обойтись

После увеличения масштабирования шрифта в системных настройках, твоя форма развалится
...
Рейтинг: 0 / 0
02.08.2011, 11:50
    #37376581
ZenForever
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
SeVa,
хм... а можно тогда Ваш вариант посмотреть реализации данного примера, как правильно сделать....
...
Рейтинг: 0 / 0
02.08.2011, 12:56
    #37376753
Руки-крюки
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
ZenForever,

Грид 2х2:
- левый столбец полностью под картинку
- правая нижняя ячейка под кнопки, завернутые в стэк панель
- правая вверхняя - груп бокс в котором грид 2х2 для текст боксов и текст блоков.
...
Рейтинг: 0 / 0
02.08.2011, 15:03
    #37377053
ZenForever
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
Руки-крюки, по вашему совету,
вот что у меня получилось, но внешний вид не очень что сделал не так ?


Код: plaintext
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.
<Window x:Class="frmLogin.frmLogin2"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Авторизация" Height="140" Width="380" WindowStyle="ToolWindow">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="3*" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="2*" />
        </Grid.ColumnDefinitions>
        <Image Grid.RowSpan="2"  Source="/frmLogin;component/Images/User1.png" />
        <GroupBox Grid.Column="1" Header="Пользователь" Grid.Row="0">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="*" />
                    <RowDefinition Height="*" />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>
                <TextBlock Text="Имя:"/>
                <TextBlock Grid.Row="1" Text="Пароль:"/>
                <ComboBox Grid.Row="0" Grid.Column="2"/>
                <PasswordBox Grid.Column="2" Grid.Row="1"/>
            </Grid>
        </GroupBox>
        <StackPanel Grid.Column="1" Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Right">
            <Button Width="80" Content="ОК" />
            <Button Width="80" Content="Отмена" />
        </StackPanel>
    </Grid>
</Window>


...
Рейтинг: 0 / 0
02.08.2011, 16:08
    #37377209
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
Это уже значительно лучше.
Осталось убрать:

<Window Height="140" Width="380"
и
<StackPanel Grid.Column="1" Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Right">
<Button Width="80" Content="ОК" />
<Button Width="80" Content="Отмена" />
</StackPanel>

По второму пункту см SharedSizeGroup
...
Рейтинг: 0 / 0
03.08.2011, 07:34
    #37377993
enigmatic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
SeVa,

Кстати, насчет фиксированных размеров формы — очень верное замечание.
...
Рейтинг: 0 / 0
03.08.2011, 08:19
    #37378020
ZenForever
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
SeVa,

По первому пункту убрал размер форма, стала маленькой, но при запуске она почти на весь экран растянутая.
По второму пункту не получается на МСДН читал но не совсем понятно как использовать, пробывал но что то никакого эффекта
...
Рейтинг: 0 / 0
03.08.2011, 08:34
    #37378033
ZenForever
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
Вот как выглядет сейчас
добавил
SizeToContent="WidthAndHeight"
чтоб форма не разъезжалась
http://imageshost.ru/photo/73212/id784193.html
...
Рейтинг: 0 / 0
03.08.2011, 09:23
    #37378096
koJIo6ok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
ZenForever,

мелкая вышла, елементы без отступов близко друг к другу, некрасиво как-то
...
Рейтинг: 0 / 0
03.08.2011, 09:36
    #37378118
koJIo6ok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
и что за кнопка 'Отмена' - для чего она?
при пустом пароле сделайте 'Ок' неактивной
...
Рейтинг: 0 / 0
03.08.2011, 10:17
    #37378205
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
ZenForeverВот как выглядет сейчас
добавил
SizeToContent="WidthAndHeight"
чтоб форма не разъезжалась
http://imageshost.ru/photo/73212/id784193.html

ОК.
Посмотри, как задать одинаковые размеры кнопок
c исходниками

<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="3**" />
<RowDefinition Height="*Auto" />

Чтобы форма не была маленькой и скученной: добавить отступы в основной грид, укажи минимальную ширину для Имени, etc
...
Рейтинг: 0 / 0
03.08.2011, 12:56
    #37378578
enigmatic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
SeVa,

Все правильно говорите, вот только сейчас:
SeVaдобавить отступы в основной грид
А до этого:
SeVaПлохой вариант:
...
- везде присутсвуют Margin

2автор:
Столбец с именем и паролем выровняйте по правому краю. См. картинку.
...
Рейтинг: 0 / 0
03.08.2011, 21:24
    #37379566
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
enigmatic, если нравится заниматься буквоедством, то вынеси margin в стиль.
Выравнивание вправо - это уже на любителя. На мой вкус и цвет эти метки совсем не нужны, их лучше казывать в контролах ввода, когда они пустые
...
Рейтинг: 0 / 0
04.08.2011, 06:44
    #37379811
enigmatic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
SeVaenigmatic, если нравится заниматься буквоедством, то вынеси margin в стиль.
Так ведь без разницы где margin задан, если он задан - без него все равно не обойтись когда он нужен.
SeVaих лучше казывать в контролах ввода, когда они пустые

Тоже верно.
...
Рейтинг: 0 / 0
04.08.2011, 08:03
    #37379834
ZenForever
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
koJIo6ok,

Ну кнопка "Отмена" на случимй если пользователь передумал заходить в программу можно конечно по крестику сверх но так вроде как стандарт в большинстве программ так сделано...
...
Рейтинг: 0 / 0
04.08.2011, 08:33
    #37379857
ZenForever
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
уф....
Вот что у меня в итоге:
Код: plaintext
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.
<Window x:Class="frmLogin.frmLogin2"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Авторизация"  WindowStyle="ToolWindow" SizeToContent="WidthAndHeight" ResizeMode="NoResize">
    <Grid Margin="5" >
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto"  />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="Auto"  />
        </Grid.ColumnDefinitions>
        <Image Grid.RowSpan="2" Source="/frmLogin;component/Images/1250180236_2888006_3352.gif" />
        <GroupBox Grid.Column="1" Header="Пользователь" Grid.Row="0">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="Auto" />
                </Grid.ColumnDefinitions>
                <TextBlock Text="Имя:" HorizontalAlignment="Right" />
                <TextBlock Grid.Row="1" Text="Пароль:" HorizontalAlignment="Right" />
                <ComboBox Grid.Row="0" Grid.Column="2">
                    <ComboBoxItem Selector.IsSelected="True">Иванов П.И.</ComboBoxItem>
                    <ComboBoxItem>Просто Ваня</ComboBoxItem>
                </ComboBox>
                <PasswordBox Grid.Column="2" Grid.Row="1"/>
            </Grid>
        </GroupBox>
        <Grid Grid.Column="1" Grid.Row="1">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition  SharedSizeGroup="Button"/>
                <ColumnDefinition  SharedSizeGroup="Button"/>
            </Grid.ColumnDefinitions>
            <Button Content="ОК" Grid.Column="1" />
            <Button Content="Отмена" Grid.Column="2" />
        </Grid>
     
    </Grid>
</Window>
Уже голову сломал, походу у меня руки крывые но никак не могу добится хорошего результата
Если не солжно выложите Выш пример чтоб посмотреть как правильно нужно делать.....
Буду очень благодарен..............
...
Рейтинг: 0 / 0
04.08.2011, 08:37
    #37379860
ZenForever
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
Хочется вот такого результата
http://imageshost.ru/photo/171039/id785822.html
...
Рейтинг: 0 / 0
04.08.2011, 08:38
    #37379862
ZenForever
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
Ну только стандартными контролами, без плоского стиля.
...
Рейтинг: 0 / 0
04.08.2011, 09:22
    #37379909
koJIo6ok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
ZenForeverХочется вот такого результата
http://imageshost.ru/photo/171039/id785822.html
ну так а что не выходит? все ведь просто и наглядно
можете и поярче что сделать
...
Рейтинг: 0 / 0
04.08.2011, 09:55
    #37379968
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
ZenForeverХочется вот такого результата
http://imageshost.ru/photo/171039/id785822.html

Ничего лишнего, но стандартно, серо и убого.
Бери Blend и делай нужные стили.
...
Рейтинг: 0 / 0
04.08.2011, 09:57
    #37379971
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оформление xaml формы
koJIo6okможете и поярче что сделать
Колобок, не нужно и так - вырви глаз ;-)
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Оформление xaml формы / 25 сообщений из 28, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]