2016-05-18 91 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; 
    } 
}  
相关问题