//model
public class ColorModel
{
private Color _colorCard;
public Color ColorCard
{
get { return _colorCard; }
set { _colorCard = value; }
}
public int R
{
get { return (int)(_colorCard.R * 255); }
set { _colorCard = Color.FromRgba( value, _colorCard.G, _colorCard.B, _colorCard.A); }
}
//viewmodel:INotifyPropertyChanged
private ObservableCollection<ColorModel> colorList;
private ColorModel _colorModel;
public Color ColorCardView
{
get { return _colorModel.ColorCard; }
set
{
if (_colorModel.ColorCard != value)
{
_colorModel.ColorCard = value;
NotifyPropertyChanged();
}
}
}
public int RView
{
get { return _colorModel.R; }
set
{
if (_colorModel.R != value)
{
_colorModel.R = value;
NotifyPropertyChanged();
}
}
}
这是我的XAML代码:
<BoxView Color="{Binding ColorCardView}" WidthRequest="100"HeightRequest="50"/>
<Label FontSize ="Medium" Text="{Binding RView}"
代码成功运行,但BoxView没有显示绑定到它的color属性,R(fromrgba)值也没有显示。
1条答案
按热度按时间ojsjcaue1#
您需要创建一个
_colorModel
的新示例,然后在视图模型构造函数中设置它。您可以参考下面的示例代码:最后,不要忘记像下面这样设置视图的
BindingContext
: