Лучший отвечающий
"Резиновый" tabcontrol и checkbox в treeview (Silverlight)

Вопрос
-
Я новичек в xaml и веб-разработке, поэтому возникли такие вопросы:
1) Есть TabControl. Как реализовать возможность изменять его размер во время работы?
Как изменять его размеры относительно размера экрана - понятно, а вот как сделать чтобы можно было растянуть мышью - нет.
2) Есть дерево. Основано на списке, в котором могут быть элементы или сборки элементов. В дереве у каждого из его ветвей/листьев есть checkbox:<CheckBox IsTabStop="False" IsChecked="{Binding IsCheckedOnTree, Mode=TwoWay}" Click="ItemCheckbox_Click"/>
При выборе сборки должны выбираться все элементы внутри него. Я изменяю свойство IsCheckedOnTree в соответсвующих объектах в списке на нужное значение. Как обновить дерево чтобы в нем отобразились изменения переменных?
13 февраля 2013 г. 11:04
Ответы
-
Привет
Сделать элемент управления растягивающимся можно несколькими способами, один из них - это разместить элемент внутри ячейки Grid, и поместить рядом GridSplitter для изменения ширины ячейки самого грида. Контрол будет растягиваться вместе с изменение ширины ячейки
Второй вариант - добавить специальный угол к элемент, за который его можно будет тянуть, как это реализуется на примере TextBlock можно посмотреть здесь - A Silverlight Resizable TextBlock (and other resizable things)
По второму вопросу - либо привязать значения заново, чтобы отобразились все изменения, но это не очень хорошее решение. Либо реализовать в класса, который содержит поле IsCheckedOnTree интерфейс INotifyPropertyChanged. Как это сделать вы можете посмотреть в статье Практическое руководство. Реализация уведомления об изменении свойства
Для связи [mail]
- Помечено в качестве ответа Blade37 14 февраля 2013 г. 12:08
14 февраля 2013 г. 7:20Модератор
Все ответы
-
Привет
Сделать элемент управления растягивающимся можно несколькими способами, один из них - это разместить элемент внутри ячейки Grid, и поместить рядом GridSplitter для изменения ширины ячейки самого грида. Контрол будет растягиваться вместе с изменение ширины ячейки
Второй вариант - добавить специальный угол к элемент, за который его можно будет тянуть, как это реализуется на примере TextBlock можно посмотреть здесь - A Silverlight Resizable TextBlock (and other resizable things)
По второму вопросу - либо привязать значения заново, чтобы отобразились все изменения, но это не очень хорошее решение. Либо реализовать в класса, который содержит поле IsCheckedOnTree интерфейс INotifyPropertyChanged. Как это сделать вы можете посмотреть в статье Практическое руководство. Реализация уведомления об изменении свойства
Для связи [mail]
- Помечено в качестве ответа Blade37 14 февраля 2013 г. 12:08
14 февраля 2013 г. 7:20Модератор -
Здравствуйте Дмитрий.
С вашей помощью со вторым вопросом разобрался за 2 минуты =) Первый посмотрел, но попробую чуть позже. Спасибо за ответ!14 февраля 2013 г. 12:07