来自2个XAML对象-Xamarin

时间:2019-03-14 22:51:33

标签: c# .net xaml xamarin

我想使用绑定基于开关和选择器设置按钮的属性IsEnabled。像这样:

XAML:

<Button Text="Start tracking"
            AbsoluteLayout.LayoutBounds="0, 1, 1, 0.1"
            AbsoluteLayout.LayoutFlags="All"
            x:Name="startTrackingButton"
            IsEnabled="{Binding}"
            Clicked="StartTracking_Clicked"
            VerticalOptions="CenterAndExpand"/>

后面的代码:

startTrackingButton.BindingContext = (!autoTrackingSwitch.IsToggled || frequencyPicker.IsSet);

此解决方案不起作用。我该怎么做?谢谢。

1 个答案:

答案 0 :(得分:0)

尝试使用Style

<Style TargetType="Button">
  <Style.Triggers>
    <MultiTrigger>
      <MultiTrigger.Conditions>
        <BindingCondition Binding="{Binding Source={x:Reference autoTrackingSwitch}, Path=IsToggled}" Value="True"/>
        <BindingCondition Binding="{Binding Source={x:Reference frequencyPicker}, Path=IsSet}" Value="True"/>
      </MultiTrigger.Conditions>
      <Setter Property="Enabled" Value="True"/>
    </MultiTrigger>
  </Style.Triggers>
</Style>

您可以在按钮的Button.Resources中指定它。