понедельник, 22 апреля 2013 г.

Lightswitch - dynamically change the control properties: менять свойства объектов на основе данных "на лету"

Задача: есть форма в Lighswitch, необходимо, чтобы отдельные записи были запрещены для редактирования на основе данных из некоторого поля, типа


- если variable type = user, то вся запись доступна для редактирования,если variable type = system, то нет.



На social.msdn.microsoft.com описан очень красивый способ data binding, но почему-то (если кто знает почему - напишите в комментариях) он у меня не сработал. Я пробовал что-то типа

Me.FindControl.("Value1").SetBinding(TextBox.IsEnabledProperty, "Scope", BindingMode.OneWay)

Никаких ошибок при компиляции не было, но результата тоже.

Сделал по другому:














Private Sub Variables_SelectionChanged()
            Dim IsReadOnly As Boolean = False
            If Me.Variables.SelectedItem.Scope = "system" Then IsReadOnly = True
            Me.FindControl("Value1").IsReadOnly = IsReadOnly
            Me.FindControl("Description1").IsReadOnly = IsReadOnly
        End Sub

Не так изящно, конечно.

Комментариев нет: