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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> UserControl и его свойства 
:(
    Опции темы
DenWPF
Дата 26.11.2009, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Хочу создать контрол Прямоугольник который состоит из 4 триугольников. верх право низ лево. вершина в центр.

создаю так:
 рисую пеном триугольник кординаты 0,0 0.5,0,5 1,0 - потом его копирую переворачиваю  и переворотом и копированием делаю остальные триугольники.
 а потом не могу сделать так что бы триуголиники нормально совпадали, и что бы когда я их буду добавлять в Grid они растягивались по его размерам=(((
код не кидаю так как там полная лажа.

триугольники рисую в гриде.
PM MAIL   Вверх
exBlender
Дата 27.11.2009, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Трудно что-либо посоветовать, не зная, как этот UserControl должен работать. 
Разве что, нарисовать эти треугольники на Canvas и загнать  в DrawingBrush (Tools > Make Brush Resourse > Make DrawingBrush Resourse) и использовать эту DrawingBrush фоном для Grid.

Это сообщение отредактировал(а) exBlender - 27.11.2009, 00:32
--------------------
HTML и CSS забыв как страшный сон, хвалу я заммэлу пою и фирме Майкрософт.
PM MAIL   Вверх
DenWPF
Дата 27.11.2009, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



эм, цвета этих триугольников я поотом  должен уметь менять, так  что как фон не канатает.
PM MAIL   Вверх
exBlender
Дата 27.11.2009, 07:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Тогда, наверное, так:
Код

        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition />
                <RowDefinition />
            </Grid.RowDefinitions>
            <Path Fill="Yellow" Stretch="Fill" Grid.ColumnSpan="2" Data="M0,0 L300,0 150,150 z" />
            <Path Fill="Red" Stretch="Fill" Grid.Column="1" Grid.RowSpan="2" Data="M300,0 L150,150 300,300" />
            <Path Fill="Navy" Stretch="Fill" Grid.ColumnSpan="2" Grid.Row="1" Data="M0,0 L300,0 150,150 z" RenderTransformOrigin="0.5,0.5">
                <Path.RenderTransform>
                        <ScaleTransform ScaleY="-1"/>
                </Path.RenderTransform>
            </Path>
            <Path Fill="Green" Stretch="Fill" Grid.RowSpan="2" Data="M300,0 L150,150 300,300" RenderTransformOrigin="0.5,0.5">
                <Path.RenderTransform>
                        <ScaleTransform ScaleX="-1"/>
                </Path.RenderTransform>
            </Path>
        </Grid

p.s. Нарисовано в сетке 300x300, но первоначальный  размер значения не имеет. Естественно, можно просто 4 раза рисовать треугольник без всяких ScaleTransform.

Это сообщение отредактировал(а) exBlender - 27.11.2009, 08:12
--------------------
HTML и CSS забыв как страшный сон, хвалу я заммэлу пою и фирме Майкрософт.
PM MAIL   Вверх
DenWPF
Дата 27.11.2009, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



а вот меня начальное интересует=)))
я потом этот юзерконтрол должен пихнуть в грид и что бы он растенулся по всей ячейке.
там надо свойства какие прописать я делал но что то не то выходит.
PM MAIL   Вверх
math64
Дата 27.11.2009, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Делаем в начале мувы в левую верхную и правую нижнюю точки прямоугольника, до которого нужно растягивать, а затем рисуем путь:
Код

<Grid>
    <Path Fill="Yellow" Stretch="Fill" Data="M2,2M0,0 L2,0 1,1 z" />
    <Path Fill="Red" Stretch="Fill" Data="M2,2M0,0 L0,2 1,1 z" />
    <Path Fill="Lime" Stretch="Fill" Data="M0,0M2,2 L2,0 1,1 z" />
    <Path Fill="Blue" Stretch="Fill" Data="M0,0M2,2 L0,2 1,1 z" />
</Grid>

PM   Вверх
DenWPF
Дата 27.11.2009, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



начале мувы в левую верхную и правую нижнюю точки прямоугольника


не понял =(
PM MAIL   Вверх
exBlender
Дата 27.11.2009, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



DenWPF, скопируйте код из предыдущего поста и вставьте в свой Control. Там просто точная подгонка треугольников друг к другу и Stretch="Fill". Больше ничего не надо.
--------------------
HTML и CSS забыв как страшный сон, хвалу я заммэлу пою и фирме Майкрософт.
PM MAIL   Вверх
DenWPF
Дата 28.11.2009, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



спасибо, ещё надо поставить размеры контрола Auto.

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


 




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


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

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