[.net] Как победить косяк в Data Binding в Application Settings?
Вставил SplitContainer, всё нормально.
Мою попробуй запустить прогу - там и проект есть и собранная
Твою версию и правил.
А что ты там правил? Там же все готово
То у тебя проблема какая-то, потом говоришь, что там всё готово.
Чего непонятного, взял твои исходники, вставил вместо чего-то там SplitContainer
и нет твоего бага.
http://www.rapidshare.ru/1032226
Я тебя не понимаю.В моей программке все настроено для воспроизведения ошибки, там ничего не нужно менять - просто взять, скомпилировать и запустить. Твоя програма работает потому, что у нее нет биндинга для горизонтального сплиттера, если его выставить, то воспроизводиться мой косяк. Идешь в Properties для splitContainer2 -> Data -> ApplicationSettings -> Splitter Distance выставляешь в HS или свою настройку можно завести. Компилируешь, запускаешь и воспроизводится
То у тебя проблема какая-то, потом говоришь, что там всё готово.
Всё работает, не уж-то сложно самому потыкаться?Где там что у тебя работает? Охрененное решение - ты удалил из кода биндинги. Где у тебя сохраняется актуальное значение? Нахрена без этого биндить?
хочет, чтобы настроенное положение splitter-а автоматически сохранялось в application.config-е.
именно для этого он binding-и и делает.
а ты ему про что-то другое рассказываешь.
Где у тебя сохраняется актуальное значение?А сам не можешь сохранять?
Конечно, эта задача алгоритмически разрешима, и можно все сохранять самому. Но топикстартер интересуется, почему не работает предназначенный для этого в .NET механизм.
Не, дерьмо эти биндинги - нужно руками сохранять значения: если забиндить ClientSize, то свернув-развернув окно, окно становится совсем маленького размера.
Оставить комментарий
agent007new
2008-я студия.Простенькое Windows Forms приложеньице. Добавляем на форму вертикальный сплиттер, потом на левую панель добавляем горизонтальный сплиттер. В Properties (для каждой split панели) ->Data->Application Settings биндим оба сплиттера. Запускаем приложение, двигаем вертикальный сплиттер в сторону и отпускаем его там. Наводим мышкой на горизонтальный сплиттер, чтобы курсор стал в виде двух стрелочек и жмем левую кнопку мыши - вертикальный сплиттер возвращается на свое старое место. Если хоть один биндинг отключить, такого не происходит.