在xaml中选中-取消选中单选按钮上标签的触发器IsVisible true-false



我试图在RadioButton选中/取消选中时使用触发器来显示/隐藏标签,但我收到了错误。我也可以通过inotifypropertychanged在c#代码中完成,但我想使用触发器,这是我第一次。我不能理解这个错误。

<StackLayout Orientation="Vertical" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" Padding="10">
<Frame HasShadow="False" Margin="10,20" CornerRadius="5" BorderColor="{StaticResource BorderColor}" BackgroundColor="#F7F7F7">
<Grid HorizontalOptions="FillAndExpand">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<RadioButton Content="English" x:Name="rdbEnglish"  HorizontalOptions="FillAndExpand" BackgroundColor="Transparent"
CornerRadius="10" BorderWidth="2"  Margin="2"
Grid.Column="0" Grid.Row="0"  IsChecked="{Binding IsCheckedEnglish,Mode=TwoWay}" >

</RadioButton>
<RadioButton Content="hindi" x:Name="rdbHindi" HorizontalOptions="FillAndExpand" 
BackgroundColor="Transparent"
CornerRadius="10" BorderWidth="2"  IsChecked="{Binding IsCheckedHindi,Mode=TwoWay}"
Margin="2" Grid.Column="1" Grid.Row="0"  />
</Grid>

</Frame>
<StackLayout Orientation="Vertical" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" Padding="10">
<Label x:Name="lblrdbEnglish" Text="Note : Menu iteam changes will be updated next time" 
Margin="2,-10,2,5" TextColor="Red" IsVisible="false" FontAttributes="Italic" >
<Label.Triggers>

<DataTrigger TargetType="RadioButton" 
Binding="{Binding Source={x:Reference rdbEnglish},Path=IsChecked}" Value="True"  >
<Setter Property="IsVisible" Value="True" />
</DataTrigger>
</Label.Triggers>
</Label>            
</StackLayout>

</StackLayout>

错误

系统。InvalidOperationException:"bindable不是AssociatedType的实例">

TargetType的类型应为Label,而不是RadioButton

来自触发器文档:

TargetType-触发器应用到的控件类型。

...
<Label.Triggers>
<DataTrigger TargetType="Label" 
Binding="{Binding Source={x:Reference rdbEnglish}, 
Path=IsChecked}" Value="True">
<Setter Property="IsVisible" Value="True" />
</DataTrigger>
</Label.Triggers>

最新更新