我有这段代码:
Color color = GetMyColor();
string s = @"<DataTemplate xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation""><StackPanel Background=""" + color + "\" ><TextBlock Text=\"{Binding Label}\" HorizontalAlignment=\"Center\" /></StackPanel></DataTemplate>";
var MyObject.Template = (DataTemplate)XamlReader.Load(s);
我想在我的绑定中添加一个转换器,有些像这样:
Color color = GetMyColor();
string s = @"<DataTemplate xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation""><StackPanel Background=""" + color + "\" ><TextBlock Text=\"{Binding Converter={StaticResource NumberConverter}}\" HorizontalAlignment=\"Center\" /></StackPanel></DataTemplate>";
var MyObject.Template = (DataTemplate)XamlReader.Load(s);
但是,这不起作用,因为我需要添加我的转换器的命名空间。
我该怎么做?
由于
答案 0 :(得分:0)
AFAIK, StaticResource只是按名称工作。它看起来像资源。它似乎不是命名空间问题。
您可以通过
轻松添加命名空间 @"<DataTemplate xmlns:local=""clr-namespace:YourProjectBus.Converters""
除此之外,请确保您的staticresource(NumberConverter)以前添加到运行中 类。 必须在
之前完成 var MyObject.Template = (DataTemplate)XamlReader.Load(s);
,例如
ctor()
{
this.Resources.Add("NumberConverter",new NumberConverter());
}
检查输出窗格中显示的输出,绑定错误。 祝你好运!