如何动态生成控件并赋予其特定的校准属性?

时间:2012-03-09 15:14:36

标签: c# xaml caliburn.micro caliburn

我们通过Caliburn框架将我们的ViewModel与我们的视图联系起来。

现在我需要通过代码隐藏动态生成ListBox。像这样:

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

目前,我在Xaml中明确声明了此ListBox。因为我使用Caliburn来放置对话框,所以我们有一个

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

在此ListBox内。如何生成这个?最重要的问题是:我能够接受caliburn:View.Model财产吗?就像我使用Width上的ListBox属性一样?此TransitioningContentControl嵌套在DataTemplate的{​​{1}}中。甚至可以通过代码隐藏生成这个吗?

1 个答案:

答案 0 :(得分:1)

我的代码隐藏中的答案看起来像这样:

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

但必须插入using Caliburn.Micro;