所以,
我有一個 CollectionView,它在頁面加載時加載 SelectedItem。
我使用 VisualStateManager 來管理選中和未選中項的屬性,以及管理單元格本身的背景顏色。
我的問題是有時(隨機)在頁面加載時 VisualStateManager 沒有在 SelectedItem 上正確設定任何屬性。這只發生在 iOS 上,它在 Android 上運行良好。
我的 CollectionView 代碼:
<CollectionView
x:Name="DaysList"
ItemsLayout="HorizontalList"
SelectionMode="Single"
VerticalOptions="Start"
HorizontalScrollBarVisibility="Never"
HorizontalOptions="FillAndExpand"
ItemsSource="{Binding DaysList}"
SelectedItem="{Binding DaysListSelectedItem, Mode=TwoWay}">
<CollectionView.Margin>
<OnPlatform x:TypeArguments="Thickness">
<On Platform="iOS" Value="-3,0,-3,40"/>
<On Platform="Android" Value="-3,-40,-3,0"/>
</OnPlatform>
</CollectionView.Margin>
<CollectionView.HeightRequest>
<OnPlatform x:TypeArguments="x:Double">
<On Platform="iOS" Value="74"/>
<On Platform="Android" Value="150"/>
</OnPlatform>
</CollectionView.HeightRequest>
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid
Padding="3,0,3,0">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup Name="CommonStates">
<VisualState Name="Normal"/>
<VisualState Name="Selected">
<VisualState.Setters>
<Setter Property="Background" Value="#2F2F2F"/>
<Setter TargetName="SelectedFrame" Property="Frame.BackgroundColor" Value="#F0CF4E"/>
<Setter TargetName="SelectedFrame" Property="Frame.WidthRequest" Value="104"/>
<Setter TargetName="SelectedFrame" Property="Frame.HeightRequest" Value="70"/>
<Setter TargetName="SelectedDate1" Property="Label.TextColor" Value="#080808"/>
<Setter TargetName="SelectedDate2" Property="Label.TextColor" Value="#080808"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Frame
x:Name="SelectedFrame"
CornerRadius="5"
HasShadow="False"
Padding="0"
BackgroundColor="{AppThemeBinding Light=Gray, Dark=Gray}"
Margin="0"
VerticalOptions="CenterAndExpand"
WidthRequest="92"
HeightRequest="62">
<StackLayout
HorizontalOptions="FillAndExpand"
VerticalOptions="CenterAndExpand"
Spacing="0">
<Label
x:Name="SelectedDate1"
Text="{Binding Day}"
FontSize="16"
Style="{StaticResource LightWhite}"
Margin="0,0,0,-2"
HorizontalOptions="CenterAndExpand"
VerticalOptions="CenterAndExpand"/>
<Label
x:Name="SelectedDate2"
Text="{Binding DayName}"
FontSize="20"
Style="{StaticResource BoldWhite}"
Margin="0,-2,0,0"
HorizontalOptions="CenterAndExpand"
VerticalOptions="CenterAndExpand"/>
</StackLayout>
</Frame>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
任何幫助將不勝感激,提前致謝。
uj5u.com熱心網友回復:
這是一個已知的錯誤,這里有一個公關。我希望在下一個版本之前合并它:)
您已經可以在您的代碼上測驗此修復程式,并且很樂意請您這樣做,以便我們驗證另一個已修復的場景。如果您需要相關說明,請告訴我。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/371241.html
標籤:沙马林 xamarin.forms
