[英]Method binding or other solutions XAML/UWP
我有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;
}
延遲了6個月,但您正嘗試使用x:Bind正常運行:
你應該做
<Grid Margin="-2,-5,-6,0" HorizontalAlignment="Stretch" Background="{x:Bind GetColor()}">
和public static SolidColorBrush GetColor()
您可以查看詳細信息鏈接:
https://msdn.microsoft.com/zh-CN/windows/uwp/xaml-platform/x-bind-markup-extension
您應該綁定到屬性而不是方法。 這樣的事情會更好:
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;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.