DependencyProperty Привязка к программно созданному ListBox - PullRequest
1 голос
/ 05 марта 2012

Я новичок в WPF / Silverlight, поэтому мне сложно описать, что я пытаюсь сделать. Возможно, именно поэтому я не смог найти ответ в Stackoverflow и Google.

Я пытаюсь привязать к DependyProperty программно.

public static DependencyProperty MyDependencyProperty
        = DependencyProperty.RegisterAttached(
                            "...", 
                            typeof(...),
                            typeof(...),
                            new PropertyMetadata(...)
                      );
xmlns:MyXMLNS="clr-namespace:...."

<ListBox MyXMLNS:MyClass.MyDependencyProperty="...">
    // ....
</ListBox>

Это уже работает, как и ожидалось.

Как я могу сделать это программно?

1 Ответ

3 голосов
/ 05 марта 2012

Формат в коде всегда один и тот же, а не в дословном переводе, если вы знаете, как обрабатывается XAML.

<ListBox local:Attached.Test="{Binding PathToProperty)"/>
var binding = new Binding("PathToProperty");
listBox.SetBinding(Attached.TestProperty, binding);

Если вы задаете другие свойства для привязки, например ElementName,следует установить их до SetBinding.(Этот метод SetBinding предназначен только для удобства (если вы установите Binding.Path, есть даже еще один ), для не-FrameworkElements вам потребуется BindingOperations.SetBinding)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...