WinStore控件之Button、HyperlinkButton、RadioButton、CheckBox、progressBar、ScrollViewer、Slider

1、Button

protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            /*
             * Button - 按钮控件,其全部功能是通过其基类 ButtonBase 提供的
             *     ClickMode - 引发 Click 事件的模式:ClickMode.Release(默认值), ClickMode.Press, ClickMode.Hover
             *     IsPointerOver - 设备指针(鼠标或手指等)是否在按钮上
             *     IsPressed - 当前按钮是否处于按下的状态
             *     Command 和 CommandParameter 等写到 MVVM 的时候再详细写
             */

            Button btn = new Button();
            btn.Content = "我是按钮";
            btn.ClickMode = ClickMode.Hover;
            btn.Click += btn_Click;
            root.Children.Add(btn);
        }

async void btn_Click(object sender, RoutedEventArgs e)
        {
            await new MessageDialog("触发了按钮的 Click 事件").ShowAsync();
        }

Button

2、HyperlinkButton

<Grid Background="Transparent">
        <StackPanel Margin="120 0 0 0">
            <!--
                HyperlinkButton - 带超链接的按钮
                    NavigateUri - 按钮要导航到的 Uri
            -->
            <HyperlinkButton Name="btnLink" Content="webabcd blog" FontSize="36" Foreground="Blue" NavigateUri="http://webabcd.cnblogs.com" />

        </StackPanel>
    </Grid>

3、RadioButton

        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <StackPanel>
                <TextBlock FontSize="34" Height="57" Name="textBlock1" Text="你喜欢哪一个品牌的手机?" />
                <RadioButton GroupName="MCSites" Background="Yellow" Foreground="Blue" Content="A、诺基亚"  Click="RadioButton_Click" Name="a"/>
                <RadioButton GroupName="MCSites" Background="Yellow" Foreground="Orange" Content="B、苹果"  Click="RadioButton_Click" Name="b" />
                <RadioButton GroupName="MCSites" Background="Yellow" Foreground="Green" Content="C、HTC"  Click="RadioButton_Click" Name="c"/>
                <RadioButton GroupName="MCSites" Background="Yellow" Foreground="Purple" Content="D、其他的"  Click="RadioButton_Click" Name="d"/>
                <TextBlock FontSize="34" Height="57" Name="textBlock2" Text="你选择的答案是:" />
                <TextBlock FontSize="34" Height="57" Name="answer" />
            </StackPanel>
        </Grid>

RadioButton

 private void RadioButton_Click(object sender, RoutedEventArgs e)
        {
            if (a.IsChecked == true)
                answer.Text = a.Content.ToString();
            else if (b.IsChecked == true)
                answer.Text = b.Content.ToString();
            else if (c.IsChecked == true)
                answer.Text = c.Content.ToString();
            else
                answer.Text = d.Content.ToString();
        }

4、CheckBox

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <StackPanel>
                <CheckBox x:Name="McCheckBox1" Foreground="Orange" Content="Check Me" FontFamily="Georgia" FontSize="20" FontWeight="Bold" />
                <CheckBox x:Name="McCheckBox3" Content="Check Me" IsChecked="True" Checked="McCheckBox_Checked" Unchecked="McCheckBox_Unchecked" />
            </StackPanel>
        </Grid>

5、progressBar

    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <StackPanel>
                <TextBlock Text="选择ProgressBar的类型:" FontSize="20" />
                <RadioButton Content="Determinate类型" Height="71" Name="radioButton1" GroupName="Type"/>
                <RadioButton Content="Indeterminate类型" Height="71" Name="radioButton2" GroupName="Type" IsChecked="True" />
                <Button Content="启动ProgressBar" Height="72" x:Name="begin"  Click="begin_Click" />
                <Button Content="取消ProgressBar" Height="72" x:Name="cancel"  Click="cancel_Click" />
                <ProgressBar x:Name="progressBar1" IsIndeterminate="true"  />
            </StackPanel>
        </Grid>

 public MainPage()
        {
            this.InitializeComponent();
            progressBar1.Visibility = Visibility.Collapsed;
        }

        private void begin_Click(object sender, RoutedEventArgs e)
        {
            progressBar1.Visibility = Visibility.Visible;

            if (radioButton1.IsChecked == true)
            {
                progressBar1.IsIndeterminate = false;
                DispatcherTimer timer = new DispatcherTimer();
                timer.Interval = TimeSpan.FromSeconds(1);
                timer.Tick += timer_Tick;
                timer.Start();
            }
            else
            {
                progressBar1.Value = 0;
                progressBar1.IsIndeterminate = true;

            }
        }
        async void timer_Tick(object sender, object e)
        {
            if (progressBar1.Value<100)
            {
                progressBar1.Value += 10;
            }
            else
            {
                (sender as DispatcherTimer).Tick -= timer_Tick;
                (sender as DispatcherTimer).Stop();
                await new MessageDialog("进度完成").ShowAsync();
            }

        }
        private void cancel_Click(object sender, RoutedEventArgs e)
        {
            progressBar1.Visibility = Visibility.Collapsed;
        }

progressBar

6、ScrollViewer

       <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <ScrollViewer Height="200" Width="200" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
                <ScrollViewer.Content>
                    <StackPanel>
                        <Image Source="/cat.jpg"></Image>
                    </StackPanel>
                </ScrollViewer.Content>
            </ScrollViewer>
        </Grid>
    </Grid>

     <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,35,0,28">
            <TextBlock Text="我的应用程序" FontSize="20"  />
            <TextBlock Text="滚动的图片" FontSize="60" />
        </StackPanel>

        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <StackPanel>
                <ScrollViewer Name="scrollViewer1"  VerticalScrollBarVisibility="Hidden" Height="300">
                    <StackPanel Name="stkpnlImage" />
                </ScrollViewer>
                <Button Content="往上" FontSize="30" Click="btnUp_Click" />
                <Button Content="往下" FontSize="30" Click="btnDown_Click"  />
                <Button Content="停止" FontSize="30" Click="stop_Click" Height="17" />
            </StackPanel>
        </Grid>

滚动的图片

  private DispatcherTimer tmrDown;
        private DispatcherTimer tmrUp;
        public MainPage()
        {
            InitializeComponent();
            for (int i = 0; i <= 30; i++)
            {
                Image imgItem = new Image();
                imgItem.Width = 200;
                imgItem.Height = 200;
                if (i % 4 == 0)
                {
                    imgItem.Source = (new BitmapImage(new Uri("ms-appx:///a.jpg", UriKind.RelativeOrAbsolute)));
                }
                else if (i % 4 == 1)
                {
                    imgItem.Source = (new BitmapImage(new Uri("ms-appx:///b.jpg", UriKind.RelativeOrAbsolute)));

                }
                else if (i % 4 == 2)
                {
                    imgItem.Source = (new BitmapImage(new Uri("ms-appx:///c.jpg", UriKind.RelativeOrAbsolute)));

                }
                else
                {
                    imgItem.Source = (new BitmapImage(new Uri("ms-appx:///d.jpg", UriKind.RelativeOrAbsolute)));

                }
                this.stkpnlImage.Children.Add(imgItem);
            }

            tmrDown = new DispatcherTimer();
            tmrDown.Interval = new TimeSpan(500);
            tmrDown.Tick += tmrDown_Tick;
            tmrUp = new DispatcherTimer();
            tmrUp.Interval = new TimeSpan(500);
            tmrUp.Tick += tmrUp_Tick;
        }

        void tmrUp_Tick(object sender, object e)
        {
            //scrollViewer1.ScrollToVerticalOffset(scrollViewer1.VerticalOffset - 10);
            scrollViewer1.ChangeView(null, scrollViewer1.VerticalOffset - 10, null);
        }

        void tmrDown_Tick(object sender, object e)
        {
            tmrUp.Stop();
           // scrollViewer1.ScrollToVerticalOffset(scrollViewer1.VerticalOffset + 10);
            scrollViewer1.ChangeView(null, scrollViewer1.VerticalOffset + 10, null);
        }

        private void btnUp_Click(object sender, RoutedEventArgs e)
        {
            tmrDown.Stop();
            tmrUp.Start();
        }

        private void btnDown_Click(object sender, RoutedEventArgs e)
        {
            tmrDown.Start();
        }

        private void stop_Click(object sender, RoutedEventArgs e)
        {
            tmrUp.Stop();
            tmrDown.Stop();
        }

7、Slider

        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <StackPanel>
                <Grid Name="controlGrid" Grid.Row="0" Grid.Column="0">
                    <Grid.RowDefinitions>
                            <RowDefinition Height="*" />
                        <RowDefinition Height="*" />
                            <RowDefinition Height="*" />
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="*" />
                    </Grid.ColumnDefinitions>
                    <TextBlock Grid.Column="0" Grid.Row="0" Text="红色" Foreground="Red" FontSize="20" />
                    <Slider x:Name="redSlider" Grid.Column="0" Grid.Row="1" Foreground="Red" Minimum="0" Maximum="255" ValueChanged="OnSliderValueChanged" />
                    <TextBlock x:Name="redText" Grid.Column="0" Grid.Row="2" Text="0" Foreground="Red" FontSize="20"/>
                    <TextBlock Grid.Column="1" Grid.Row="0" Text="绿色" Foreground="Green" FontSize="20"    />
                    <Slider x:Name="greenSlider" Grid.Column="1" Grid.Row="1" Foreground="Green" Minimum="0" Maximum="255" ValueChanged="OnSliderValueChanged" />
                    <TextBlock x:Name="greenText" Grid.Column="1" Grid.Row="2" Text="0" Foreground="Green" FontSize="20" />
                    <TextBlock Grid.Column="2" Grid.Row="0" Text="蓝色" Foreground="Blue" FontSize="20"/>
                    <Slider x:Name="blueSlider" Grid.Column="2" Grid.Row="1" Foreground="Blue" Minimum="0" Maximum="255" ValueChanged="OnSliderValueChanged" />
                    <TextBlock x:Name="blueText" Grid.Column="2" Grid.Row="2" Text="0" Foreground="Blue" FontSize="20" />
                </Grid>
                <Ellipse Height="100" x:Name="ellipse1" Stroke="Black" StrokeThickness="1" Width="224" />
                <TextBlock x:Name="textBlock1" Text="颜色" FontSize="26"/>
            </StackPanel>
        </Grid>

Slider

 public MainPage()
        {
            InitializeComponent();
            redSlider.Value = 128;
            greenSlider.Value = 128;
            blueSlider.Value = 128;
        }

        void OnSliderValueChanged(object sender, RangeBaseValueChangedEventArgs e)
        {

            Color clr = Color.FromArgb(255, (byte)redSlider.Value,
                                            (byte)greenSlider.Value,
                                            (byte)blueSlider.Value);
            ellipse1.Fill = new SolidColorBrush(clr);
            textBlock1.Text = clr.ToString();
            redText.Text = clr.R.ToString("X2");
            greenText.Text = clr.G.ToString("X2");
            blueText.Text = clr.B.ToString("X2");

        }
时间: 2024-08-04 22:34:00

WinStore控件之Button、HyperlinkButton、RadioButton、CheckBox、progressBar、ScrollViewer、Slider的相关文章

ASP.NET控件&lt;ASP:Button /&gt; html控件&lt;input type=&quot;button&quot;&gt;区别联系

ASP.NET控件<ASP:Button />-------html控件<input type="button">杨中科是这么说的:asp和input是一样的东西 服务器只认识input,我们可以直接写input 但是asp是要把自己自动翻译成input再交给服务器的.其实是一样的东西 写写我看到的区别:                asp控件,直接可以用c#编程                input加上 runat=“server” 也被c#编程了 说白

unity4.6 Beta版 UI控件之Button

最近需求,需要用到4.6版本uGui了,所以抽时间来学习学习,就UI控件在Unity工具里创建预设这块来说相比较于NGUI,我觉得是没有什么太大的区别的. 比如:Canvas--Camera . Text--Label.ImageMask-- Panel 等. 可能是目前4.6版本还不稳定,其UI控件下所挂载的组件脚本代码我们是没法直接点击脚本看到更别说在代码里直接调出修改了,这点就目前来说确实没有NGUI方便. 好了"方不方便"恐怕并不能直接影响每次unity版本的更新带给我们的惊喜

【读书笔记-《Android游戏编程之从零开始》】3.Android 游戏开发常用的系统控件(Button、Layout、ImageButton)

3.1 Button Button这控件不用多说,就是一个按钮,主要是点击后进行相应事件的响应. 给组件添加ID属性:定义格式为 android:id="@+id/name",这里的name是自定义的,不是索引变量."@+"表示新声明,"@"表示引用,例如:"@+id/tv" 表示新声明一个id,是id名为tv的组件:"@id/tv" 表示引用id名为tv的组件. 给按钮添加点击事件响应  想知道按钮是否被

.net学习之母版页执行顺序、jsonp跨域请求原理、IsPostBack原理、服务器端控件按钮Button点击时的过程、缓存、IHttpModule 过滤器

1.WebForm使用母版页后执行的顺序是先执行子页面中的Page_Load,再执行母版页中的Page_Load,请求是先生成母版页的控件树,然后将子页面生成的控件树填充到母版页中,最后输出 2.WebForm使用母版页进行登录时候的验证 //新建一个页面父类 public abstract class BasePage:Page { protected void Page_Load(object sender, EventArgs e) { //1.身份验证的方法 Session if (Se

VC单选按钮控件(Radio Button)用法

先为对话框加上2个radio button,分别是Radio1和Radio2. 问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了? 关键是选上,“默认”只要放在OnInitDialog()即可.三种方法可以让它选上, 第一种:((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(FALSE);//不选上((CButton

02-常见控件:ImageView(图片视图)、slider(滑动器)、switch(开关)使用

效果图:       通过点击设置 将显示如第二张图所示                            第三张为项目目录文件 供参考              主要代码: // // WHBLAPViewController.h // 04-whblap查看器 // // Created by whblap on 14-6-6. // Copyright (c) 2014年 whblap. All rights reserved. // #import <UIKit/UIKit.h>

Android高级UI ImageView ImageButton RadioButton CheckBox ProgressBar属性和用法总结

高级UI ImageView  ImageButton  RadioButton  CheckBox  ProgressBar 1.ImageView 图片组件 src 指定要加载的图片 缩放问题 1.按着图片原始比例(不失真) 2.不按着比例(失真) ScaleType 1.fitXY   强制让图片缩放以填充整个imageview 2.fitCenter  按着比例缩放以居中显示图片 3.fitEnd     按着比例缩放以局下部显示图片 4.fitStart   按着比例缩放以居上部显示图

android基本控件学习-----Button

Button讲解: 一.在我们实际的使用button的时候经常会对button不同状态会有不同的显示,在讲解Button前,首先对drawable下面的statelistdrawable的相关知识讲一下,StateListDrawable在一中drawable下面的一种资源文件,它的关键节点selector,我只需要在设置button属性background的时候@drawable/selector_name就可以了,这时就会根据不同状态现在button的变化,当然这样StateListDraw

Android控件之Button(按钮控件)和ImageButton(图片按钮控件)

一.Button和ImageButton特证: 1.共同特证: 都可以作为一个按钮产生点击事件 2.不同特证: Button有text的属性,ImageButton没有 ImageButton有src属性,Button没有 二.布局文件中设置Button和ImageButton控件 <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_heigh