Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2016, 16:36   #1
hoz
Форумчанин
 
Аватар для hoz
 
Регистрация: 29.06.2013
Сообщений: 132
По умолчанию Преобразование через XAML

Имеется простая разметка XAML:
Код:
<Window x:Class="Test1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
        <StackPanel>
            <Button FlowDirection="LeftToRight" 
HorizontalContentAlignment="Left" VerticalContentAlignment="Top" 
Height="40" Background="Red">LeftToRight</Button>
            <Button FlowDirection="RightToLeft" 
HorizontalContentAlignment="Left" VerticalContentAlignment="Top" 
Height="40" Background="Orange">RightToLeft</Button>
        </StackPanel>
</Window>
На выходе имеются 2 кнопки. Хочется чтоб одна кнопка залазила на другую.
Хочу научится перемещать элементы, а так же их поворачивать.
Я так понимаю, что перемещение происходит посредством классов LayoutTransform или RenderTransform. Я решил попробывать использовать LayoutTransform.
Пробывал добавить точку после Batton, но выскакивает ошибка. Получается, что так делать нельзя.
Хотя в книге, я увидел такой вот пример:
Код:
<Button RenderTransformOrigin="0.5,0.5" Background="Orange"> 
<Button.RenderTransform> 
<RotateTransform Angle="45"/> 
</Button.RenderTransform> 
    Rotated 45° 
</Button/>
Но если писать самому то уже на этапе:
Код:
<Button. FlowDirection="LeftToRight"
т.е. после установки точки после Batton ошибка:
Код:
Ошибка	1	Вложенные типы не поддерживаются: Button..	E:\Обучающее видео\Компьютерные\Программирование\videosharp.info. Теория ООП на практике\Project\TEST\Test1\MainWindow.xaml	6	13	Test1
Ошибка	2	Имя "Button." не является допустимым именем XAML.	E:\Обучающее видео\Компьютерные\Программирование\videosharp.info. Теория ООП на практике\Project\TEST\Test1\MainWindow.xaml	6	14	Test1
Почему?
hoz вне форума Ответить с цитированием
Старый 10.04.2016, 16:44   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Код:
<Button. FlowDirection="LeftToRight"
Так вы что-то странное написали, вот и ошибка.
Зачем тут точка?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 10.04.2016, 17:17   #3
hoz
Форумчанин
 
Аватар для hoz
 
Регистрация: 29.06.2013
Сообщений: 132
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Так вы что-то странное написали, вот и ошибка.
Зачем тут точка?
Чтоб выбрать метод, как в примере из учебника:
Код:
<Button RenderTransformOrigin="0.5,0.5" Background="Orange"> 
<Button.RenderTransform> 
<RotateTransform Angle="45"/> 
</Button.RenderTransform> 
    Rotated 45° 
</Button/>
Вот после точки же тут RenderTransform
А у меня так не получается.
hoz вне форума Ответить с цитированием
Старый 10.04.2016, 17:24   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну так а у вас что?

Если в виде атрибута задавать значение, то точка не нужна

Код:
        <TextBlock HorizontalAlignment="Center"/>
Код:
        <TextBlock>
            <TextBlock.HorizontalAlignment>
                Center
            </TextBlock.HorizontalAlignment>
        </TextBlock>
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 10.04.2016, 17:51   #5
hoz
Форумчанин
 
Аватар для hoz
 
Регистрация: 29.06.2013
Сообщений: 132
По умолчанию

А как понять какие методы за что отвечают тогда? Я вот, например, хочу понять какие методы имеются у LayoutTransform, кроме поворота. Если открыть очередную кавычку и нажать Cnrl+Пробел я вижу перечень методов, но на странице https://msdn.microsoft.com/ru-ru/lib...(v=vs.95).aspx нет упоминания о них. Как их вообще находить правильнее? Ведь где-то же они описаны..
На данный момент ищу метод перемещения элемента, но нужно посмотреть какие имеются возможности.
hoz вне форума Ответить с цитированием
Старый 10.04.2016, 18:22   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Это не тот LayoutTransform.
https://msdn.microsoft.com/en-us/lib...vs.110%29.aspx

И Transform это базовый класс для других Transform'ов. Например RotateTransform
https://msdn.microsoft.com/en-us/lib...vs.110%29.aspx

И это свойства, а не методы. Метод == функция.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 10.04.2016, 18:53   #7
hoz
Форумчанин
 
Аватар для hoz
 
Регистрация: 29.06.2013
Сообщений: 132
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
И это свойства, а не методы. Метод == функция.
Это понятно. Но как же не метод. Я имел ввиду о перемещении элемента. Перемещение - не свойство
Кстати, по Вашей ссылке https://msdn.microsoft.com/en-us/lib...v=vs.110).aspx я не нашёл ничего о перемещении..
hoz вне форума Ответить с цитированием
Старый 10.04.2016, 18:58   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Вы не вызываете методы в XAML, только свойства устанавливаете.

Это ж декларативный язык, а не императивный.

Цитата:
я не нашёл ничего о перемещении
Это базовый класс, поворот в RotateTransofrm, перемещение в TranslateTransform.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 10.04.2016 в 19:00.
Alex11223 вне форума Ответить с цитированием
Старый 10.04.2016, 19:12   #9
hoz
Форумчанин
 
Аватар для hoz
 
Регистрация: 29.06.2013
Сообщений: 132
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Вы не вызываете методы в XAML, только свойства устанавливаете.

Это ж декларативный язык, а не императивный.


Это базовый класс, поворот в RotateTransofrm, перемещение в TranslateTransform.
Логично. А как тогда смещать элемент относительно других элементов?
hoz вне форума Ответить с цитированием
Старый 10.04.2016, 19:18   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что именно вы сделать хотите? Для обычного UI трансформы редко нужны, хватает правильного выбора контейнера, Margin, Padding, *Alignment, ...
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
App.xaml, MainPage.xaml, и тд. Chelovekpredel Общие вопросы .NET 0 19.12.2012 14:52
включить побочный Generic.xaml файл в основной App.xaml ImmortalAlexSan WPF, UWP, WinRT, XAML 1 21.09.2012 19:58
Требуется написать программу, совмещение рентгеновских изображений через преобразование (метод) Фурье. Gumus Помощь студентам 0 28.05.2012 16:12
xaml Cpluser WPF, UWP, WinRT, XAML 2 22.01.2010 14:58
Проблема преобразование jpg в bmp через dll inndim Общие вопросы Delphi 5 24.06.2008 18:24