如何从开关
中删除开/关文本<Label Text="Below is the binded data: "></Label>
<Label Text="{Binding MyData}"></Label>
<Label x:Name="lbldisp"></Label>
<Switch Toggled="SwitchToggled"></Switch>
答案 0 :(得分:6)
如何从开关
中删除开/关文本
与UWP中Switch
对应的原生控件为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>
答案 1 :(得分:1)
我使用了一个效果来解决这个问题。
在你的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>
答案 2 :(得分:0)
最简单的方法来执行特定的开关,而不是更改整个UWP应用的拨动开关
<ToggleSwitch x:Name="xyz" OnContent="" OffContent="">
</ToggleSwitch>