0

我有这个代码:

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);

但是,这不起作用,因为我认为我需要添加转换器的命名空间。

我该怎么做?

谢谢

4

1 回答 1

0

AFAIK,StaticResource 仅按名称工作。它看起来资源。似乎不是命名空间问题。

您可以通过以下方式轻松添加命名空间

    @"<DataTemplate xmlns:local=""clr-namespace:YourProjectBus.Converters"" 

除此之外,请确保您的静态资源(NumberConverter)以前添加到运行类中。必须先完成

 var MyObject.Template = (DataTemplate)XamlReader.Load(s);

  ctor()
{
   this.Resources.Add("NumberConverter",new NumberConverter());
}

检查输出,输出窗格中显示的绑定错误。祝你好运!

于 2013-07-03T06:47:57.240 回答