首页 > 其他分享 >MAUI新生5.6-Form表单类控件难点

MAUI新生5.6-Form表单类控件难点

时间:2022-12-28 16:45:35浏览次数:63  
标签:控件 string 5.6 单选框 表单 progressBar public Form

 一、表单类控件目录

 

二、使用经验

  • 表单类控件的使用都比较简单,没有特别复杂的操作。
  • 但是内置的表单控件不够丰富,如下拉多选框、复选框组、联级选择、时间范围、富文本框、评分、树状选择等,目前都缺失,需要补充第三方控件库
  • 由于表单类控件主要应用于数据输入,所以实际开发中,都要结合数据绑定和数据验证使用。

 

三、控件难点

1、RadioButton,单选框分组和选定值

<!--RadioButton的使用案例-->
<ContentPage
    ......
    xmlns:vm="clr-namespace:MauiApp15.ViewModels">
    <!--实例化ViewModel,并设置为BindingContext-->
    <ContentPage.BindingContext>
        <vm:MainPageViewModel/>
    </ContentPage.BindingContext>

    <!--
    ①作为布局组件子元素的RadioButton,会自动隐式分组。也可以显式分组,如下例中用附加属性RadioButtonGroup.GroupName分组
    ②还有一种显示分组方案【<RadioButton Content="Red" GroupName="colors" />】,组内选项相互排斥
    ③当RadioButton的IsChecked属性发生属性变时,触发CheckedChanged事件,同时附加属性RadioButtonGroup.SelectedValue的值更改为选定值
    ④下例中:附加属性RadioButtonGroup.SelectedValue绑定ViewModel的Selection,同时Label也绑定这个值,实现选项改变时,Lable值也改变
    -->
    <StackLayout RadioButtonGroup.GroupName="{Binding GroupName}" RadioButtonGroup.SelectedValue="{Binding Selection}">
        <Label Text="你最喜欢的动物是?" />
        <RadioButton Content="Cat" Value="Cat" />
        <RadioButton Content="Dog" Value="Dog" />
        <RadioButton Content="Elephant" Value="Elephant" />
        <RadioButton Content="Monkey" Value="Monkey" />
        <Label x:Name="animalLabel">
            <Label.FormattedText>
                <FormattedString>
                    <Span Text="你已选定:" />
                    <Span Text="{Binding Selection}" />
                </FormattedString>
            </Label.FormattedText>
        </Label>
    </StackLayout>

</ContentPage>

<!--ViewModel-->
public partial class MainPageViewModel: ObservableObject
{
    [ObservableProperty]
    private string groupName = "animals";

    [ObservableProperty]
    private string selection = string.Empty;
}

 

2、ProgressBar,结合动画展示进度条

<!--进度条的XAML-->
<ContentPage
    ......>

    <StackLayout>
        <!--Progress属性为进度百分比,double类型,值范围0-1。下例未设置,默认值为0-->
        <ProgressBar x:Name="progressBar" ProgressColor="Orange" />
        <!--点击按钮,执行后台代码,更改Progress的进度百分比-->
        <Button Clicked="Button_Clicked" Text="点击" />
    </StackLayout>
</ContentPage>


<!--通过后台代码修改进度条的进度值-->
public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    private async void Button_Clicked(object sender, EventArgs e)
    {
        //将progressBar的进度百分比(Progress),以线性动画的方式,在5000毫秒以内,调整到1.0(100%)
        await progressBar.ProgressTo(1.0, 5000, Easing.Linear);
        //重新将进度百分比设置为0
        progressBar.Progress = 0.0;
    }
}

 

标签:控件,string,5.6,单选框,表单,progressBar,public,Form
From: https://www.cnblogs.com/functionMC/p/17009980.html

相关文章

  • winform中实现打开摄像头+识别条形码和二维码
    我们去菜鸟驿站拿快递的时候,需要我们把自己的快递拿到扫描台上扫下,表示包裹已出库。今天我们就来实现这个功能,基于winform程序开发快递单的扫描和识别,顺便也识别下二维码。......
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:VLCPlayer
    本文简述如何在Smobiler中使用VLCPlayer插件,该插件支持播放rtsp流。Step1.新建一个SmobilerForm窗体,再拖入VLCPlay,布局如下在设计器中给VLCPlayer.Url赋值或者在窗体......
  • form表单中的 action=./?> 是什么意思
    ./代表当前目录,?代表查询字符串为空 action=""//一般可以为空的,这里的双引号都要有的,表示提单提交给自己(也就是当前页处理)action="a.php"//是提交给当前目录的a.php处......
  • MySQL DATE_FORMAT() 格式化日期
    定义和用法DATE_FORMAT()函数用于以不同的格式显示日期/时间数据。语法DATE_FORMAT(date,format)date 参数是合法的日期。format 规定日期/时间的输出格式。可以使......
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:VLCPlay
    本文简述如何在Smobiler中使用VLCPlayer插件,该插件支持播放rtsp流。Step1.新建一个SmobilerForm窗体,再拖入VLCPlay,布局如下在设计器中给VLCPlayer.Url赋值或者在窗......
  • 论文 | SE(3)-Transformers:3D旋转平移等变注意力网络
    导读自注意力机制是最近非常火热的内容。今天这篇文章,作者基于自注意力机制提出SE(3)-Transformer,实现了三维数据中旋转平移的等变性。等变性有什么意义?作者取得了什么样的......
  • 一文带你入门Transformer
    让我们初学一下Transformer,它确实相对难以理解,下面让我们开始吧!朋友们.Don'tworryaboutit前提在这里我们用x<t>表示文本位置→输入用Tx表示文本长度用y<t......
  • 深度学习之Transformer网络
    【博主使用的python版本:3.6.8】本次没有额外的资料下载Packagesorttensorflowastfimportpandasaspdimporttimeimportnumpyasnpimportmatplotlib.pyplo......
  • iOS6下自定义UI控件外观效果
    尽管iOS原生的UI控件就已经有很不错的显示效果,但是App开发者仍然希望自己的产品与众不同,所以自定义UI外观成了每个App产品开发必做之事。今天就来做一个在iOS6下实现自定义U......
  • C# GUI(Winform)回忆
    前言时隔六个月,我又回来搞C#了,不同的是上次失败了,而这次回来是接着搞上次没搞成的Manim播放器,于是乎肯定有很多我忘了的东西,那么本文就诞生了实用向①点击第二个蓝......