要求是创建可重复使用的多选组合框自定义控件。为此,我通过代码动态创建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 }}
我在做错了什么?建议?
答案 0 :(得分:0)
错误..代码中的错误。不应该重新定义每个元素的名称空间。仅限顶部元素。