none
"Резиновый" tabcontrol и checkbox в treeview (Silverlight) RRS feed

  • Вопрос

  • Я новичек в 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