Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[52.15.59.163] |
|
Сообщ.
#1
,
|
|
|
Подскажите пожалуйста как сделать привязку не декларативно а в коде,
нашел только вот такое про текстБокс static void BindText(TextBox textBox, string property) { DependencyProperty textProp = TextBox.TextProperty; if (!BindingOperations.IsDataBound(textBox, textProp)) { Binding b = new Binding(property); BindingOperations.SetBinding(textBox, textProp, b); } } по аналогии пытаюсь переделать под себя DependencyProperty visStPan = stpans[i].Visibility ; if (!BindingOperations.IsDataBound(stpans[i], visStPan)) { Binding b = new Binding("{ Binding IsChecked, Converter = { StaticResource booleanToVisibilityConverter }, ElementName = chBox001 }"); BindingOperations.SetBinding(stpans[i], visStPan, b); } но показывает ошибку типов ........ ОшибкаCS0029Не удается неявно преобразовать тип "System.Windows.Visibility" в "System.Windows.DependencyProperty". показывает на первую строку подскажите как динамически при создании кнопки в коде создавать и привязки Добавлено когда мы декларативно объявляем биндинг в XAML , то делаем так <Window.Resources> <BooleanToVisibilityConverter x:Key="booleanToVisibilityConverter"/> </Window.Resources> <Button x:Name="but001" Visibility="{Binding IsChecked, Converter={StaticResource booleanToVisibilityConverter}, ElementName=chBox1}" / > <CheckBox x:Name="chBox1" IsChecked="True" /> т.е. используется конвертор а как теперь через код объявить и применить конверотор в DependencyProperty видКн = кнопки[i].Visibility ; |
Сообщ.
#2
,
|
|
|
На другом форуме подсказали
var btn = new Button(); var bind = new Binding(); //checkBox - объкт чекбокса bind.Source = checkBox; bind.Path = new PropertyPath("IsChecked"); bind.Converter = new BooleanToVisibilityConverter (); BindingOperations.SetBinding(btn, Button.VisibilityProperty, bind); |