jay*_*ack 4 xaml visualstatemanager .net-maui
我有一个带有标签和开关的 .NET MAUI xaml 页面。当我尝试使用VisualState-setters 更改打开/关闭时的标签文本值时,它可以与模拟器和手机调试器模式一起使用,但是当我将其下载到我的 Android 手机中时,尝试打开时页面崩溃!这是重现问题的代码部分:
<HorizontalStackLayout Grid.Row="2" Grid.Column="0" Margin="5" Spacing="7" BackgroundColor="White" HeightRequest="50">
<!-- Automatic-Manual -->
<VerticalStackLayout Margin="2" >
<Label x:Name="LblAutoMan" Text="Automatic" VerticalOptions="Start" HorizontalOptions="Center" HeightRequest="20" WidthRequest="65"/>
<Switch IsToggled="True" HorizontalOptions="Start" VerticalOptions="Center" HeightRequest="10">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup Name="CommonStates">
<VisualState Name="On">
<VisualState.Setters>
<Setter Property="ThumbColor" Value="Green" />
<Setter TargetName="LblAutoMan" Property="Label.Text" Value="Automatic" />
</VisualState.Setters>
</VisualState>
<VisualState Name="Off">
<VisualState.Setters>
<Setter Property="ThumbColor" Value="Red" />
<Setter TargetName="LblAutoMan" Property="Label.Text" Value="Manual" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Switch>
</VerticalStackLayout>
</HorizontalStackLayout>
Run Code Online (Sandbox Code Playgroud)
如果我评论两行:<Setter TargetName="LblAutoMan"
有人可以解决这个错误吗?
根据这个问题,你需要将你的<VisualStateGroup>内部<VisualStateGroupList>标签括起来:
<HorizontalStackLayout Grid.Row="2" Grid.Column="0" Margin="5" Spacing="7" BackgroundColor="White" HeightRequest="50">
<!-- Automatic-Manual -->
<VerticalStackLayout Margin="2" >
<Label x:Name="LblAutoMan" Text="Automatic" VerticalOptions="Start" HorizontalOptions="Center" HeightRequest="20" WidthRequest="65"/>
<Switch IsToggled="True" HorizontalOptions="Start" VerticalOptions="Center" HeightRequest="10">
<VisualStateManager.VisualStateGroups>
<VisualStateGroupList>
<VisualStateGroup Name="CommonStates">
<VisualState Name="On">
<VisualState.Setters>
<Setter Property="ThumbColor" Value="Green" />
<Setter TargetName="LblAutoMan" Property="Label.Text" Value="Automatic" />
</VisualState.Setters>
</VisualState>
<VisualState Name="Off">
<VisualState.Setters>
<Setter Property="ThumbColor" Value="Red" />
<Setter TargetName="LblAutoMan" Property="Label.Text" Value="Manual" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</VisualStateManager.VisualStateGroups>
</Switch>
</VerticalStackLayout>
</HorizontalStackLayout>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
527 次 |
| 最近记录: |