![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| mrLIS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 10.9.2008 Где: город герой Москв а ) Репутация: нет Всего: нет |
Всем привет.. вот запара небольшая...
в Silverlight если есть сторибоард и имнем допустим sb1, то по нажатию кнопки мы ее запускаем исполняя sb1.Begin(). А вот сел за WPF и фиг там был.. sb1 вообще нельзя использовать в коде, как тогда быть? Ну и еще вопрос не в тему немного... В Illustrator делам чертеж допустим материнской платы с основными ее элементами. Дальше чешем в Expression Disign и переводим всю красоту в XAML. В бленде вставляем все эту красоту. Далее, выделяем поочередно элементы нашей платы и делаем из них USerControlы. С права висит Tree в котором отображена структура нашей платы. Задача такая, подводим мышь к элементу на плате, он подсвечивается, щелкаем на него, он выделяется и в Tree выбирается этот элемент. Эту задачу решил так: для каждого элемента (уже созданного UserControl) сделал по 2 Storyboard, одна выделяет, другая подсвечивает, у и для каждого элемента сделал по два события наведения мыши и ее щелчек, после которых запускаются соответствующие сториборды. Со следующей задачей начал мучится, и мучаюсь уже дня три. Весь чертеж на экране не помещается (ну прокрутку сделал ет фигня), поэтому надо сделать подобие некоторого Zoom а. Если бы это была просто картинка то фигня вопрос. Но у нас это куча UerControl ов со своими событиями и т.д., которая находится в Greed. Так вот как можно увеличить/уменьшить это чудо? Пробывал myGrid.Width = myGrid.Width+1 и тоже самое с шириной, но нефига интересного не увидел, все элементы просто сползаются или наоборот. Кто знает как решить эту задачу или предложит более оригинальное и интересное решение. Пасиб за ответы! |
|||
|
||||
| rooks |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 28.9.2008 Где: Минск Репутация: 5 Всего: 9 |
наваял вот такой код в Kaxaml, думаю все будет понятно(это по поводу зума)...
а насчет первого вопроса - смотреть, скорей всего, надо здесь: Animation Overview (local: ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/wpf_conceptual/html/bd9ce563-725d-4385-87c9-d7ee38cf79ea.htm)
Это сообщение отредактировал(а) rooks - 29.9.2008, 00:20 |
|||
|
||||
| mrLIS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 10.9.2008 Где: город герой Москв а ) Репутация: нет Всего: нет |
rooks за ответ большое спасибо, а мог бы ты пояснить что значат <ScaleTransform ScaleX="{Binding ElementName=slider1, Path=Value}" ScaleY="{Binding RelativeSource={RelativeSource Self}, Path=ScaleX}"/>, просто еще чайник совсем и не освоился..
ЗЫ еще раз большое спасибо! |
|||
|
||||
| mrLIS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 10.9.2008 Где: город герой Москв а ) Репутация: нет Всего: нет |
А ну со значениями ScaleX и У рзобрался, спабо, долго я парился над этим...
вот только почемуто в Silverlight не получается ScaleX="{Binding ElementName=slider1, Path=Value}" ScaleY="{Binding RelativeSource={RelativeSource Self} он как ошибку в замл выводит. а можно ли как нибудь сделать так чтобы в коде myGrid.ScaleX = slider1.Valie; myGrid.ScaleY = myGridScaleX.Value; ? |
|||
|
||||
| rooks |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 28.9.2008 Где: Минск Репутация: 5 Всего: 9 |
ScaleTransform - увеличивает/уменьшает любой UIElement. ScaleX и ScaleX задают во сколько раз растянуть/сжать
ScaleY="{Binding RelativeSource={RelativeSource Self}, Path=ScaleX} - здесь мы привязываем значение свойства ScaleY к значению свойства ScaleX, можно было бы написать так же как и в ScaleX, результат был бы тем же: ScaleY="{Binding ElementName=slider1, Path=Value} ScaleX="{Binding ElementName=slider1, Path=Value} ну а здесь мы привязываем значение ScaleX к значению свойства Value слайдера... ну а вообще, чтобы лучше во всем разобраться советую прочитать про Binding в хелпе: Data Binding Overview local: ms-help://MS.MSDNQTR.v90.en/wpf_conceptual/html/c707c95f-7811-401d-956e-2fffd019a211.htm Добавлено @ 12:38
обзываешь как-нить Transform: <ScaleTransform x:Name="transform" .. потом:
Это сообщение отредактировал(а) rooks - 29.9.2008, 12:39 |
||||
|
|||||
| mrLIS |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 10.9.2008 Где: город герой Москв а ) Репутация: нет Всего: нет |
пасиба за новые догадки.. только как я понял ет для WPF в Silverlight понятия Binding нет.
А в чем тут может быть ошибка:
При присваении значений появляется ошибка " Object reference not set to an instance of an object." |
||||
|
|||||
| mrLIS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 10.9.2008 Где: город герой Москв а ) Репутация: нет Всего: нет |
rooks спасибо тебе большое за помощь, вроде разобрался..
|
|||
|
||||
| rooks |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 28.9.2008 Где: Минск Репутация: 5 Всего: 9 |
да, для WPF... я думал и в Silverlight сойдет) оказалось не все так просто... а ошибка вылазит из-за того, что silder1_ValueChanged вызывается когда еще slider1=null я сделал так, вроде работает
|
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |