2011-08-10 48 views
0

Eeerrr!這是讓我瘋了,我有一個自定義值轉換器,它需要一個int並返回一個SolidColorBrush,它工作正常,如果我在VS中打開該項目,並手動輸入到XAML然而Expression Bleamer(4)無法看到它,它看到我所有的其他轉換器都很好。我再次檢查,二進制文件在適當的文件夾(我們有不同的構建配置,這可能是一個問題)...我被卡住了 - 有人可以看到這個轉換器代碼的任何問題。現在請記住,轉換器在另一個程序集中,但它們都是這樣,我可以輕鬆瀏覽它們並使用它們沒有任何問題。自定義值轉換器沒有出現在表達式融合中

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
{ 
    int conditionType = (int)value; 
    switch (conditionType) 
    { 
    case 1: 
     return new SolidColorBrush(Color.FromRgb(241, 230, 155)); 
    case 2: 
     return new SolidColorBrush(Color.FromRgb(229, 107, 107)); 
    case 3: 
     return new SolidColorBrush(Color.FromRgb(107, 229, 147)); 
    case 4: 
     return new SolidColorBrush(Color.FromRgb(176, 107, 229)); 
    case 5: 
     return new SolidColorBrush(Color.FromRgb(63, 130, 64)); 
    case 6: 
     return new SolidColorBrush(Color.FromRgb(67, 143, 148)); 
    case 7: 
     return new SolidColorBrush(Color.FromRgb(149, 163, 164)); 
    default: 
     return new SolidColorBrush(Color.FromRgb(149, 163, 164)); 
    } 
    return new SolidColorBrush(Color.FromRgb(241, 230, 155)); 
} 

我會後整個類的命名空間,所有然而,這件事是在格式化炸燬,如果我做到這一點 - 至少在預覽! UHG!

謝謝

回答

0

代碼本身不會阻止Blend看到轉換器。轉換器類是否實現IValueConverter?它有一個無參數的公共構造函數嗎?如果其中任何一個都不存在,Blend將不會看到它。我能想到的唯一的另一件事是缺少的參考。它幾乎必須成爲這些問題之一。

+0

這也是我的猜測。 – oXeNoN

+0

其實它是Blend的一些東西,我把這個類移動到與VM相同的程序集,並且混合沒有任何問題,它就像它在某種程度上不是「令人耳目一新」(因爲沒有更好的術語)並且看到「哦,是的,這個大會有一個新班級「。這是多個項目和Blend的問題。 – Kenn

+0

這仍然是一個問題 - 它絕對是Blend的代碼,因爲代碼工作正常。我無法讓它看到裝配。嗯...... – Kenn

相關問題