我在Xamarin中创建了自定义控件。其中之一是ValidatedEntryCell:
public class ValidatedEntryCell: EntryCell
{
public static readonly BindableProperty ShowBorderProperty = BindableProperty.Create(nameof(ShowBorder), typeof(bool), typeof(ValidatedEntryCell), false);
public bool ShowBorder
{
get { return (bool)GetValue(ShowBorderProperty); }
set
{
SetValue(ShowBorderProperty, value);
OnPropertyChanged();
}
}
}
如果Text为空,我想更改ShowBorder属性。我尝试了几种情况如何调用该属性:
renderers:ValidatedPicker x:Name="Gender" Title="Gender" ShowBorder="True"
这种情况很好。<renderers:ValidatedEntryCell ShowBorder="{Binding FirstNameIsNotValid}" x:Name="FirstName"
...(我在代码隐藏中设置FirstNameIsNotValid = true
)<renderers:ValidatedEntryCell x:Name="LastName" ShowBorder="{Binding Source={x:Reference LastName}, Converter={StaticResource EmptyTextToBoolConverter}, Path=Text.Length}"
始终返回true
尝试使用属性的样式触发器。 不幸的是,这里有什对任何建议都会很高兴
编辑:部分帮助link。现在我可以在代码隐藏中的构造函数中设置属性,并且可以看到所做的更改。