我想在我的控件Xamarin.Forms上设置DataTrigger,但我无法让它工作。Xamarin.Forms DataTrigger不工作
我有房产的视图模型与OnPropertyChange执行的bool IsValid
我曾尝试:
DataTrigger在XAML:
<customControls:NumericTextBox
Grid.Row="0" Grid.Column="2"
Text="{Binding StringValue, Mode=TwoWay}"
IsEnabled="{Binding IsEditable}"
XAlign="End">
<customControls:NumericTextBox.Style>
<Style TargetType="customControls:NumericTextBox">
<Style.Triggers>
<DataTrigger TargetType="customControls:NumericTextBox" Binding="{Binding IsValid}" Value="true">
<Setter Property="TextColor" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
</customControls:NumericTextBox.Style>
</customControls:NumericTextBox>
获取例外:The Property TargetType is required to create a Xamarin.Forms.DataTrigger object.
DataTrigger在控制:
_item = new DataTrigger(typeof(NumericTextBox));
_item.Binding = new Binding("IsValid",BindingMode.Default,new NegativeBooleanConverter());
_item.Value = true;
Setter s = new Setter();
s.Property = TextColorProperty;
s.Value = Color.Red;
_item.Setters.Add(s);
this.Style.Triggers.Add(_item);
例外:Exception has been thrown by the target of an invocation.
我已经试过也在改变行:this.Style.Triggers.Add(_item);
到this.Triggers.Add(_item);
。这并没有引发异常,但它没有奏效。
在这最后的尝试,它甚至击中转换器,但不会改变控件的TextColor。
我做错了什么?如何处理?
我想你可能会打一个(已知)的问题:http://forums.xamarin.com/discussion/30465/using-datatrigger-in-xaml – Krumelur
那么有没有其他的方法来处理这个问题?它是最重要的功能之一:( – Tomasz