Как создать элемент управления динамически и придать ему определенные свойства калибровки? - PullRequest
1 голос
/ 09 марта 2012

Мы соединяем наши ViewModel с нашими представлениями через Caliburn Framework.

Теперь мне нужно динамически сгенерировать ListBox с помощью кода.Примерно так:

this.LayoutRoot.Children.Add(new ListBox() { Width = 800, ... });

В настоящее время я декларирую это ListBox явно в Xaml.Поскольку я использую Caliburn для размещения диалогов, у нас есть

<silverlightToolkit:TransitioningContentControl caliburn:View.Model="{Binding ViewModel}" />

в этом ListBox.Как создать это?И самый важный вопрос: могу ли я присвоить свойство caliburn:View.Model?Как я это сделал со свойством Width на ListBox?Этот TransitioningContentControl вложен в DataTemplate из ListBoxItem.Можно ли вообще сгенерировать это с помощью codebehind?

1 Ответ

1 голос
/ 27 марта 2012

Ответ в моем коде был похож на это:

var content = new TransitioningContentControl();
var newBinding = new Binding
                     {
                         // ...
                     };
content.SetBinding(View.ModelProperty, newBinding);

Однако, нужно вставить using Caliburn.Micro;.

...