我把ItemTemplate绑定到我的班级。该类有一个返回SolidColorBrush的方法。我怎么能把它绑定到XAML?该类是序列化的,所以我不能只生成SolidColorBrush变量。
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 :(得分:2)
迟了6个月,但是您正在尝试使用x:Bind功能不正确:
你应该做
public static SolidColorBrush GetColor()
和/%USER_NUMBER%/content
您可以看到链接以获取详细信息:
答案 1 :(得分: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;
}
}