2013-07-02 58 views
0

我有這樣的代碼:的XAML轉換器

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

而且我想轉換器添加到我的結合,somethind這樣的:

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

據我所知, StaticResource的只是名稱的作品。它看起來是資源。它似乎沒有命名空間問題。

您可以通過

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

在這旁邊輕鬆地添加自己的命名空間確保您的靜態資源(NumberConverter)添加到原運行 類。 它必須在

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

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

檢查輸出來完成,結合在輸出窗格中顯示的錯誤。 祝你好運!