다음을 통해 공유


iOS의 VisualElement 레거시 색 모드

일부 보기에는 Xamarin.Forms 레거시 색 모드가 있습니다. 이 모드 IsEnabled 에서는 뷰의 속성이 설정된 false경우 사용자가 설정한 색을 사용 안 함 상태의 기본 네이티브 색으로 재정의합니다. 이전 버전과의 호환성을 위해 이 레거시 색 모드는 지원되는 뷰의 기본 동작을 다시 기본.

이 iOS 플랫폼별은 보기가 사용하지 않도록 설정된 경우에도 사용자가 보기에 설정된 색을 다시 기본 레거시 색 모드VisualElement를 사용하지 않도록 설정합니다. 연결된 속성을 false다음으로 설정하여 XAML에서 VisualElement.IsLegacyColorModeEnabled 사용합니다.

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout>
        ...
        <Button Text="Button"
                TextColor="Blue"
                BackgroundColor="Bisque"
                ios:VisualElement.IsLegacyColorModeEnabled="False" />
        ...
    </StackLayout>
</ContentPage>

또는 흐름 API를 사용하여 C#에서 사용할 수 있습니다.

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...

_legacyColorModeDisabledButton.On<iOS>().SetIsLegacyColorModeEnabled(false);

이 메서드는 VisualElement.On<iOS> 이 플랫폼별이 iOS에서만 실행되도록 지정합니다. VisualElement.SetIsLegacyColorModeEnabled 네임스페이 Xamarin.Forms.PlatformConfiguration.iOSSpecific 스의 메서드는 레거시 색 모드가 비활성화되어 있는지 여부를 제어하는 데 사용됩니다. 또한 이 메서드를 VisualElement.GetIsLegacyColorModeEnabled 사용하여 레거시 색 모드가 비활성화되었는지 여부를 반환할 수 있습니다.

그 결과 레거시 색 모드를 사용하지 않도록 설정할 수 있으므로 보기가 비활성화된 경우에도 사용자가 보기에 설정한 색이 다시 기본.

레거시 색 모드 사용 안 함

참고 항목

보기에서 VisualStateGroup 설정할 때 레거시 색 모드는 완전히 무시됩니다. 시각적 상태에 대한 자세한 내용은 Visual State Manager를 참조 Xamarin.Forms 하세요.