Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему пропадают края? 
:(
    Опции темы
Dims
Дата 31.1.2011, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: нет
Всего: 11



Ниже нарисован прямоугольник, который вылазит за границы контейнера вверх и влево. Поскольку верхний и правый отступ отрицательны, то торчащие края видны.

Теперь убираем комментарий с определения строк и столбцов. По идее, изменяется только размер клетки. Однако, края прямоугольника пропадают. 

Почему?

Код

<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    x:Class="MemoryTrain.UserControl1"
    d:DesignWidth="640" d:DesignHeight="480">

    <Grid x:Name="LayoutRoot" Width="640" Height="480" HorizontalAlignment="Left" VerticalAlignment="Top">
        
        <!--
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="240"/>
            <ColumnDefinition Width="240"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="320"/>
            <RowDefinition Height="320"/>
        </Grid.RowDefinitions>
        -->
        
        
        <Rectangle Fill="#FF4B4BBA" Margin="0,-298,-245,0" Stroke="Black" Height="600" VerticalAlignment="Top" Width="800" HorizontalAlignment="Left"/>
    </Grid>
</UserControl>


PM MAIL   Вверх
vikaz
Дата 31.1.2011, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 1
Всего: 12



Может кто-нибудь понял, что спрашивает человек? Вот я никак не могу понять данный вопрос.
Давайте конкретнее и с картинками....

Но все же у меня есть к Вам пару вопросов:
1. Зачем Вы Grid'у задаете определенный размер?
2. Если Вы хотели разделить Grid на 4 равных квадрата, то не нужно использовать строго заданные значения, нужно использовать относительные. Плюс ко всему, Вы ошиблись при разбивке в том, что ColumnDefinition Width="240" - отвечает за разбивку по ширине, так почему тут 240, а не 320?

А правильно должно быть так:
Код

<Grid x:Name="LayoutRoot" >
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="0.5*"/>
            <ColumnDefinition Width="0.5*"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="0.5*"/>
            <RowDefinition Height="0.5*"/>
        </Grid.RowDefinitions>
</Grid>



3. Все же, что Вы пытаетесь сделать с этим прямоугольником?


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
Dims
Дата 1.2.2011, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: нет
Всего: 11



Цитата(vikaz @  31.1.2011,  21:39 Найти цитируемый пост)
1. Зачем Вы Grid'у задаете определенный размер?

Имею право.


Цитата(vikaz @  31.1.2011,  21:39 Найти цитируемый пост)
Если Вы хотели разделить Grid на 4 равных квадрата, то не нужно использовать строго заданные значения, нужно использовать относительные. 

Не нужно или нельзя? 

Цитата(vikaz @  31.1.2011,  21:39 Найти цитируемый пост)
Все же, что Вы пытаетесь сделать с этим прямоугольником? 

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

PM MAIL   Вверх
vikaz
Дата 1.2.2011, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 1
Всего: 12



Цитата(Dims @  1.2.2011,  15:30 Найти цитируемый пост)
Имею право.

Конечно имеете, но смысл?

Цитата(Dims @  1.2.2011,  15:30 Найти цитируемый пост)
Не нужно или нельзя? 

Почему же нельзя, если Вы смогли задать, значит можно. Но Вы получите неправильное поведение при изменении размеров самого окна.





Цитата(Dims @  1.2.2011,  15:30 Найти цитируемый пост)
Я пытаюсь разобраться, почему он так себя ведёт. Пример взят из другой задачи и очищен от всего лишнего. Практического смысла у него нет, только чтобы разобраться с поведением команд разметки.

В Чем Вы это делаете? В VS, или в Expression Blend? Ну а по сути, никаких изменений не должно быть, так как Вы указываете значения Margin, которые и задают отступы от каждого края.

Это сообщение отредактировал(а) vikaz - 1.2.2011, 15:22


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
Brilona
Дата 1.2.2011, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 8.7.2008

Репутация: 2
Всего: 3



Цитата(Dims @  31.1.2011,  20:40 Найти цитируемый пост)
Теперь убираем комментарий с определения строк и столбцов. По идее, изменяется только размер клетки. Однако, края прямоугольника пропадают. 


А не может ли это быть потому, что прямоугольник помещается в верхнюю левую клетку? Насколько я знаю, если не заданы Grid.Row и Grid.Column у элемента, они по умолчанию проставляются в равные 0.
PM MAIL ICQ   Вверх
Dims
Дата 1.2.2011, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: нет
Всего: 11



А почему верхний край исчезает?
PM MAIL   Вверх
vikaz
Дата 1.2.2011, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 1
Всего: 12



Цитата(Dims @  1.2.2011,  17:49 Найти цитируемый пост)
А почему верхний край исчезает? 

Screenshot'ы в студию. 


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
Dims
Дата 1.2.2011, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: нет
Всего: 11



Цитата(vikaz @  1.2.2011,  20:21 Найти цитируемый пост)
Screenshot'ы в студию.  

Я не понял: Вы попробовали у себя в Бленде сделать то, что написано в первом сообщении? У Вас не пропали края?
PM MAIL   Вверх
vikaz
Дата 1.2.2011, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 1
Всего: 12



user posted image

user posted image


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
Dims
Дата 2.2.2011, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: нет
Всего: 11



Почему на первом рисунке у Вас голубой край не вылазит за верхнюю границу? Ведь верхний марджин отрицательный (-298), следовательно, прямоугольник должен вылазить.

Добавлено через 12 минут и 33 секунды
Окей, вот мои скриншоты. Куски пропадают и в Бленде и в Студии.

Код:
Код

<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    x:Class="MemoryTrain.UserControl1"
    d:DesignWidth="640" d:DesignHeight="480">
    <Grid x:Name="LayoutRoot" Width="640" Height="480" HorizontalAlignment="Left" VerticalAlignment="Top">
        
        <!--
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="240"/>
            <ColumnDefinition Width="240"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="320"/>
            <RowDefinition Height="320"/>
        </Grid.RowDefinitions>
        -->
        
        
        
        <Rectangle Fill="#FF4B4BBA" Margin="0,-317,-245,-111" Stroke="Black" Height="600" VerticalAlignment="Top" Width="800" HorizontalAlignment="Left"/>
    </Grid>
</UserControl>




Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  strangebehavior.jpg 137,72 Kb
PM MAIL   Вверх
Dims
Дата 2.2.2011, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: нет
Всего: 11



С пикучи

user posted image
user posted image
user posted image
user posted image

Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  strangebehavior.jpg 137,72 Kb
PM MAIL   Вверх
vikaz
Дата 2.2.2011, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 1
Всего: 12



Единственное, что мне приходит в голову, это то, что та белая область, которая не закрашена, по сути, является зоной неправильно разделенного ГРАДа, и эта область не является активной для размещения и визуализации объектов. 
Других вариантов у меня нет.  smile 

ЗЫ! (и от меня лично)Вы заметили, что с этим плевым вопросом мы разбираемся уж очень долго. А ведь это можно было сделать намного быстрее, если бы Вы с самого начала нормально описали вопрос.

Например. Добрый день. У меня возникла сл. проблема, я работаю в Expression Blend под Silverlight. Проблема в том, что ....... Скины прилагаются.



Это сообщение отредактировал(а) vikaz - 2.2.2011, 13:43


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0541 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.