2016-05-18 63 views
0

我將ItemTemplate綁定到我的課程。該類有一個返回SolidColorBrush的方法。我如何將它綁定到XAML?這個類是序列化的,所以我不能只製作SolidColorBrush變量。方法綁定或其他解決方案XAML/UWP

XAML

<GridView.ItemTemplate> 
    <DataTemplate x:DataType="local:GetRem" > 
     <Grid Margin="-2,-5,-6,0" HorizontalAlignment="Stretch" Background="{x:Bind GetColor}"> 

С#

public SolidColorBrush GetColor() 
    { 
     string ColorName = ReminderColor; 
     Color Getit; 
     if (ColorName == "1") 
      Getit = Color.FromArgb(255, 135, 136, 0); 
     else 
      if (ColorName == "2") 
       Getit = Color.FromArgb(177, 237, 237, 0); 
      else 
       if (ColorName == "3") 
        Getit = Color.FromArgb(214, 243, 153, 0); 
       else 
        if (ColorName == "4") 
         Getit = Color.FromArgb(254, 243, 153, 0); 
     SolidColorBrush TestBrush = new SolidColorBrush(Getit); 
     return TestBrush; 

    }  
+0

你不能綁定屬性(背景)的方法 - 你需要創建在'GetRem'類存儲當前'SolidColorBrush'的屬性。你想要什麼時候調用GetColor()? – TryToSolveItSimple

回答

0

你應該結合一個屬性不是方法。像這樣的東西會更好:

public SolidColorBrush GetColor { 
    get { 
     Color GetIt; 
     switch(ReminderColor) { 
      case("1"): 
       GetIt = Color.FromArgb(255, 135, 136, 0); 
      case("2"): 
       GetIt = Color.FromArgb(177, 237, 237, 0); 
      case("3"): 
       GetIt = Color.FromArgb(214, 243, 153, 0); 
      case("4"): 
       GetIt = Color.FromArgb(214, 243, 153, 0); 

     } 
     SolidColorBrush TestBrush = new SolidColorBrush(Getit); 
     return TestBrush; 
    } 
}  
相關問題