Вопрос:

Как убрать вкл / выкл текст с переключателя в формах xamarin

c# xamarin uwp

2376 просмотра

2 ответа

20 Репутация автора

Как убрать вкл / выкл текст с переключателя

<Label Text="Below is the binded data: "></Label>
<Label Text="{Binding MyData}"></Label>
<Label x:Name="lbldisp"></Label>
<Switch Toggled="SwitchToggled"></Switch>
Автор: Mohammad Irshad Источник Размещён: 03.01.2018 11:48

Ответы (2)


6 плюса

192 Репутация автора

Как убрать вкл / выкл текст с переключателя

Родной элемент управления, соответствующий SwitchUWP, есть ToggleSwitch. Если вы хотите удалить on/offконтент, вы можете создать его ToggleSwitchбез текста непосредственно в UWPпроекте, как показано ниже:

App.xaml

<Application.Resources>
    <Style TargetType="ToggleSwitch">
        <Setter Property="OffContent" Value=" " />
        <Setter Property="OnContent" Value=" " />
        <Setter Property="Margin" Value="0,0,-110,0" /> 
    </Style>
</Application.Resources>

! [введите описание изображения здесь

Автор: W0RT4 Размещён: 03.01.2018 12:07

1 плюс

486 Репутация автора

Я использовал Эффект, чтобы решить это.

В вашем проекте UWP;

using Windows.UI.Xaml.Controls;
using Xamarin.Forms;
using Xamarin.Forms.Platform.UWP;

[assembly: ResolutionGroupName("YOURAPP")]
[assembly: ExportEffect(typeof(YOURAPP.UWP.Effects.SwitchEffect), nameof(YOURAPP.UWP.Effects.SwitchEffect))]
namespace YOURAPP.UWP.Effects
{
    public class SwitchEffect : PlatformEffect
    {
        protected override void OnAttached()
        {
            if (Control is ToggleSwitch switchControl)
            {
                switchControl.OffContent = string.Empty;
                switchControl.OnContent = string.Empty;
            }
        }

        protected override void OnDetached()
        { }
    }
}

В вашем проекте Forms:

using Xamarin.Forms;
using Xamarin.Forms.Xaml;

namespace YOURAPP.Effects
{
    [XamlCompilation(XamlCompilationOptions.Compile)]
    public class SwitchEffect : RoutingEffect
    {
        public SwitchEffect() : base("YOURAPP.SwitchEffect") { }
    }
}

В вашем XAML: Добавьте пространство имен:

xmlns:effects="clr-namespace:YOURAPP.Effects;assembly=YOURAPP"

<Switch>
    <Switch.Effects>
        <effects:SwitchEffect />
    </Switch.Effects>
</Switch>
Автор: Sev Размещён: 10.05.2018 07:46
Вопросы из категории :
32x32