2012-11-21 32 views
0

嗨,我有這個轉換器類:獲取特定的對象了公共類的在Silverlight

public class InboxItemValueConverters : IValueConverter 
{ 
    public object Convert(object value, System.Type targetType, 
          object parameter, CultureInfo culture) 
    { 
     int urgency = (int)value; 
     Brush brush = new SolidColorBrush(); 

     if (urgency == 0) 
     { 
      brush = new SolidColorBrush(Colors.Green);   } 
     else if (urgency == 1) 
     { 
      brush = new SolidColorBrush(Colors.Yellow); 
     } 
     else if (urgency == 2) 
     { 
      brush = new SolidColorBrush(Colors.Red); 
     } 


     return brush; 
    } 

    public object ConvertBack(object value, System.Type targetType, 
           object parameter, CultureInfo culture) 
    { 
     return null; 
    } 



    public object ConvDateToShort(object value, System.Type targetType, 
          object parameter, CultureInfo culture) 
    { 
     DateTime DT = (DateTime)value; 
     return DT.ToShortDateString(); 
    } 


    public object Convdateback(object value, System.Type targetType, 
        object parameter, CultureInfo culture) 
    { 
     return null; 
    } 

} 

,這是我引用它,使用它的第一次:

<src:InboxItemValueConverters x:Key="converttocolor" /> 

<Canvas Background="{Binding Urgency, Converter={StaticResource converttocolor}}" 

沒有在班上,你們可以看到我有一個日期轉換器在那裏?我將如何去通過xaml獲取該對象?要轉換日期在另一個控制,從同一類

新XAML:提前

Text="{Binding DocDate , Converter={StaticResource converttocolor}}" 

的感謝!

我使用的Visual Studio 2012 /的Windows Phone 8/C#/ Silverlight的

回答

1

你必須移動你的約會對象轉換出colorconverter類到它自己的類

public class DateValueConverter : IValueConverter 
{ 
    public object Convert(object value, System.Type targetType, 
          object parameter, CultureInfo culture) 
    { 
     DateTime DT = (DateTime)value; 
     return DT.ToShortDateString(); 
    } 
    public object ConvertBack(object value, System.Type targetType, 
        object parameter, CultureInfo culture) 
    { 
     return null; 
    } 
} 

然後在其聲明頂部像你這樣的顏色轉換器,然後改變轉換爲指向日期轉換器的關鍵

//This needs to be declared below the colorconverter resource 
<src:DateValueConverter x:Key="dateConverter" /> 

Text="{Binding DocDate , Converter={StaticResource dateConverter}}" 
+0

所以沒有辦法,我用一個類的許多轉換器?並感謝您的快速回復:) – Arrie

+0

不幸的是,不幸的是不是因爲界面只支持Convert和ConvertBack,你爲什麼要這麼做?酷:-)。 http://msdn.microsoft.com/en-us/library/system.windows.data.ivalueconverter.aspx –

+0

大聲笑,只是想要保持它在一個班級的乾淨,但我現在看到它是如何工作的,而我們在轉換器的主題?我不想問在堆棧上的一個全新的問題,我怎麼能得到接收日期顯示像2012年11月23日?它目前顯示2012/11/23,您的幫助將非常感謝!現在upvoting答案:) – Arrie