Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
umnick_kh
307 / 244 / 44
Регистрация: 06.12.2010
Сообщений: 527
#1

В конструкторе не перемещается контрол - C# WPF

10.07.2011, 20:32. Просмотров 1103. Ответов 9
Метки нет (Все метки)

В общем все видно на скриншоте, кнопка фиксируется в Border по центру, и передвинуть ее скажем в правый верхний угол не получается, положение кнопки снова сбрасывается в центр. В чем проблема?
XML
1
2
3
     <Border CornerRadius="4" BorderBrush="Silver" BorderThickness="1" Name="border3" Margin="1,0,645,0" Background="#FFDBDBDB">
               <Button Content="Click" Name="btn" Width="100" Height="30" />
     </Border>
0
Миниатюры
В конструкторе не перемещается контрол  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2011, 20:32
Я подобрал для вас темы с готовыми решениями и ответами на вопрос В конструкторе не перемещается контрол (C# WPF):

Контрол перемещается при изменении окна
Есть контролы (узлы графа). Хотя их положение я меняю через Margin, они...

Некорректно перемещается WPF-окно по экрану
Захотел я изменить стандартное окно на своё кастомное. Т.е., убрать заголовок...

Курсор в тексбоксе перемещается на начальную позицию после каждого нажатия
Привет. У есть много текстбоксов и все они забиндиты на разные свойства с...

wpf ScrollViewer + StackPanel не перемещается влево, вправо, вверх, вниз
в wpf ставлю ScrollViewer в него StackPanel StackPanel постояно центрируется...

При вводе значения идет разбивка числа на разряды, а курсор перемещается влево
Всем привет. Использую тут StringFormat для отображения числа как &quot;денежку&quot;. ...

Создание тени под TextBlock, которая перемещается при изменении размера окна и масштабирования
Начал изучать UWP, параллельно вспоминая WPF (давно с ним не работал). Возникла...

9
dioxidin
132 / 99 / 11
Регистрация: 21.11.2007
Сообщений: 544
10.07.2011, 21:19 #2
Проблема в том, что Border - это не Canvas. Он не предполагает перемещение чайлда внутри себя. Вы можете, конечно, задать расположение чайлда через свойства Border'a: HorizontalContentAlignment и VerticalContentAlignment (вроде бы они у него должны быть) + задать чайлду марджины, но это не ком-иль-фо. Положите в бордер Canvas, в котором можно передвигать чайлда программно через функции Canvas.SetLeft() и Canvas.SetTop().

Добавлено через 58 секунд
Вообще, скажите, что нужно получить в конечном итоге - возможно совет дам еще проще.
1
umnick_kh
307 / 244 / 44
Регистрация: 06.12.2010
Сообщений: 527
10.07.2011, 21:42  [ТС] #3
dioxidin, да, спасибо, Canvas - это то, что надо было. Но забил я на Wpf, зря старался два дня и всю ночь, парился над внешним видом. Оказалось, что в Wpf нету даже банального
C#
1
Application.DoEvents();
. Еще и TreeView какой-то отстойный, я так и не понял, как в него добавить корневой и под-корневой каталоги. Проект написанный на WinForms, перенес на Wpf и получил 102 ошибки. Совсем не весело. У WebBrowser у метода Document нету ни GetElementsByTagName, ни ReadyState. Весь мой проект накрылся
В общем спасибо
0
dioxidin
132 / 99 / 11
Регистрация: 21.11.2007
Сообщений: 544
11.07.2011, 10:58 #4
Странно звучит.. "WPF - отстой, т.к. он совсем не WinForms"

Цитата Сообщение от umnick_kh Посмотреть сообщение
в Wpf нету даже банального
Почему банального? WinForms не имеет даже банального XamlReader'а... Но нужен ли он там?

Пытаться копипастом перенести проект из WinForms в WPF - довольно наивный подход. Если б эти технологии были бы настолько похожи/совместимы, то в одной из них, наверное, отпала бы необходимость.
1
umnick_kh
307 / 244 / 44
Регистрация: 06.12.2010
Сообщений: 527
11.07.2011, 13:19  [ТС] #5
dioxidin, ну хорошо, уговорили, ну как тогда переносить? Где искать те же функции, что были в WinForms?
Вот так выкрутился, но пришлось подключить System.Windows.Forms.

C#
1
2
3
            webBrowser1.Navigate("http://google.com.ua");
            HtmlDocument hd = (HtmlDocument)webBrowser1.Document;
            hd.GetElementById("lol");
Добавлено через 46 минут
Все, со всем разобрался, правда переписывать много пришлось, но хоть что-то. Всем спасибо.
0
dioxidin
132 / 99 / 11
Регистрация: 21.11.2007
Сообщений: 544
11.07.2011, 13:26 #6
Да я и не уговариваю.. Просто высказал отношение к написанному...
Портирование - задача во многих случаях нетривиальная. Подход "где искать те же функции" тоже нехороший. У WPF кардинально отличается принцип организации приложения. Скорее всего придется с основ переделывать архитектуру. Тут я вам не советчик.
В качестве POC (proof of concept) можете захостить WinForms-контрол в WPF окне. Но есть ли в этом необходимость.
Чем WF не годится? Что требуется реализовать? Как это делается в WPF? Вот вопросы, на которые нужно ответить, но это уже не тут. Про кнопку ответил. Возможно мой вариант не единственный. Есть еще StackPanel. В любом случае разговор про портирование апп. из WF в WPF выходит за рамки поста.
1
umnick_kh
307 / 244 / 44
Регистрация: 06.12.2010
Сообщений: 527
11.07.2011, 13:34  [ТС] #7
dioxidin, да я решил перенести проект на Wpf, только ради дизайна. Как-то надоел стандартный вид WF контролов.
0
kenny69
burning1ife
1371 / 1198 / 282
Регистрация: 21.09.2008
Сообщений: 3,356
Записей в блоге: 9
11.07.2011, 14:23 #8
Цитата Сообщение от umnick_kh Посмотреть сообщение
зря старался два дня и всю ночь
вы за это время хотели узнать возможности WPF?
Цитата Сообщение от umnick_kh Посмотреть сообщение
да я решил перенести проект на Wpf, только ради дизайна
это уже будет не перенос, а написание совершенно нового приложения, т.к. подходы у WF и WPF совершенно разные. Если вы поработаете на WPF хотя бы пару месяцев, то WF покажется страшным сном, хотя, скорее всего поначалу может быть очень неудобно. Но я уверен, что со временем ваше отношение измениться...
1
umnick_kh
307 / 244 / 44
Регистрация: 06.12.2010
Сообщений: 527
11.07.2011, 14:44  [ТС] #9
Цитата Сообщение от kenny69 Посмотреть сообщение
вы за это время хотели узнать возможности WPF?
Да я просто не ожидал, что тут все настолько отличается от WF. Думал, что отличие только в Xaml, а оказалось, что разница очень большая. Ну ничего, вроде бы уже разобрался что к чему, начало получаться.
Только вечно мучаюсь с растягиванием элементов при ресайзе формы, что бы расстояние между ними всегда было одинаковое, не всегда получается так сделать, а если и получается, то случайно. Для этого методом тыка изменяю свойства VerticalAlignment и HorizontalAlignment, правильно?
Ради примера, вот два проекта WPF и WF.
0
Миниатюры
В конструкторе не перемещается контрол   В конструкторе не перемещается контрол  
kenny69
burning1ife
1371 / 1198 / 282
Регистрация: 21.09.2008
Сообщений: 3,356
Записей в блоге: 9
11.07.2011, 15:05 #10
смотрите Layout Controls. там около 5 типов контролов, выбирайте нужный и в путь.
для ваших целей скорее всего подойдет Grid
http://barulina.ru/2009/06/26/быстро-о-layout-ах-wpf-grid/
1
11.07.2011, 15:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2011, 15:05
Привет! Вот еще темы с решениями:

Счетчик в конструкторе классе
Подскажите реализацию, есть класс (бизнес-логика), нужно добавить еще одно поле...

Контрол
Простите заранее, за вопрос. Встречал в литературе такой контрол как...

Необязательные аргуметы в конструкторе окна
Столкнулся с тем, что в WPF программах, в отличии от WF даже необязательные...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru