使用Silverlight 3.0动态创建DataTemplate时获取未处理的异常

时间:2010-05-05 11:56:38

标签: silverlight silverlight-3.0 datatemplate

要求是创建可重复使用的多选组合框自定义控件。为此,我通过代码动态创建DataTemplate并设置组合框ItemTemplate。我可以动态加载datatemplate并设置ItemTemplate,但是当选择了组合框时会得到未处理的异常(代码:7054)。

这是代码

 Class MultiSelCombBox: ComboBox
 {
    public override void OnApplyTemplate()
    {
        base.OnApplyTemplate();
        CreateTemplate();
    }

    void CreateTemplate()
    {
        DataTemplate dt = null;
        if (CreateItemTemplate)
        {
            if (string.IsNullOrEmpty(CheckBoxBind))
            {
                dt = XamlReader.Load(@"<DataTemplate xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' x:Name=""DropDownTemplate""><Grid xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' x:Name=""CheckboxGrid""><TextBox xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' x:Name=""test"" xml:space=""preserve"" Text='{Binding " + TextContent + "}'/></Grid></DataTemplate>") as DataTemplate;
                this.ItemTemplate = dt;
            }
        }
    }
  //Other code goes here }}
我在做错了什么?建议?

1 个答案:

答案 0 :(得分:0)

错误..代码中的错误。不应该重新定义每个元素的名称空间。仅限顶部元素。