Windows 8 Store Apps(2)-コントロールのボタンコントロールを再想像する:Button,HyperlinkButton,RepeatButton,ToggleButton,RadioButton,CheckBox,ToggleSwitch
32986 ワード
[ソースのダウンロード]
Windows 8 Store Apps(2)-コントロールのボタンコントロールを再想像する:Button,HyperlinkButton,RepeatButton,ToggleButton,RadioButton,CheckBox,ToggleSwitch
作者:webabcd Windows 8 Store Appsを再想像するボタンコントロールを紹介 Button-ボタンコントロール HyperlinkButton-ハイパーチェーンボタン RepeatButton-押すとクリック操作を繰り返すボタン ToggleButton-切り替え可能な状態のボタン RadioButton-ラジオボックスコントロール CheckBox-チェックボックスコントロール ToggleSwitch-ステータス切替コントロール 例1、ButtonのDemoButtonDemo.xaml.cs
2、HyperlinkButtonのDemoHyperlinkButtonDemo.xaml
HyperlinkButtonDemo.xaml.cs
3、RepeatButtonのDemoRepeatButtonDemo.xaml
RepeatButtonDemo.xaml.cs
4、ToggleButtonのDemoToggleButtonDemo.xaml.cs
5、RadioButtonのDemoRadioButtonDemo.xaml
6、CheckBoxのDemoCheckBox.xaml
7、ToggleSwitchのDemoToggleSwitchDemo.xaml
OK [ソースのダウンロード]
Windows 8 Store Apps(2)-コントロールのボタンコントロールを再想像する:Button,HyperlinkButton,RepeatButton,ToggleButton,RadioButton,CheckBox,ToggleSwitch
作者:webabcd Windows 8 Store Appsを再想像するボタンコントロールを紹介
/*
* Button -
*/
using System;
using Windows.UI.Popups;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Navigation;
namespace XamlDemo.Controls
{
public sealed partial class ButtonDemo : Page
{
public ButtonDemo()
{
this.InitializeComponent();
}
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();
}
}
}
2、HyperlinkButtonのDemoHyperlinkButtonDemo.xaml
<Page
x:Class="XamlDemo.Controls.HyperlinkButtonDemo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:XamlDemo.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<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>
</Page>
HyperlinkButtonDemo.xaml.cs
/*
* HyperlinkButton -
*/
using Windows.UI.Xaml.Controls;
namespace XamlDemo.Controls
{
public sealed partial class HyperlinkButtonDemo : Page
{
public HyperlinkButtonDemo()
{
this.InitializeComponent();
this.Loaded += HyperlinkButtonDemo_Loaded;
}
void HyperlinkButtonDemo_Loaded(object sender, Windows.UI.Xaml.RoutedEventArgs
e)
{
// HyperlinkButton
btnLink.PointerEntered += btnLink_PointerEntered;
btnLink.PointerExited += btnLink_PointerExited;
}
void btnLink_PointerEntered(object sender,
Windows.UI.Xaml.Input.PointerRoutedEventArgs e)
{
// HyperlinkButton
Windows.UI.Core.CoreWindow.GetForCurrentThread().PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Hand, 1);
}
void btnLink_PointerExited(object sender,
Windows.UI.Xaml.Input.PointerRoutedEventArgs e)
{
// HyperlinkButton
Windows.UI.Core.CoreWindow.GetForCurrentThread().PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Arrow, 1);
}
}
}
3、RepeatButtonのDemoRepeatButtonDemo.xaml
<Page
x:Class="XamlDemo.Controls.RepeatButtonDemo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:XamlDemo.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="Transparent">
<StackPanel Margin="120 0 0 0">
<TextBlock Name="lblMsg" TextWrapping="Wrap" />
<!--
RepeatButton -
Delay - , , , , 250
Interval - , , , 250
:Button ClickMode Release, RepeatButton ClickMode Press
-->
<RepeatButton Name="aa" Content="click me" Delay="1000" Interval="250" Click="RepeatButton_Click_1" Margin="0 10 0 0" />
</StackPanel>
</Grid>
</Page>
RepeatButtonDemo.xaml.cs
/*
* RepeatButton -
*/
using Windows.UI.Xaml.Controls;
namespace XamlDemo.Controls
{
public sealed partial class RepeatButtonDemo : Page
{
public RepeatButtonDemo()
{
this.InitializeComponent();
}
private void RepeatButton_Click_1(object
sender, Windows.UI.Xaml.RoutedEventArgs e)
{
lblMsg.Text += "a";
}
}
}
4、ToggleButtonのDemoToggleButtonDemo.xaml.cs
/*
* ToggleButton -
*/
using System;
using Windows.UI.Popups;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
namespace XamlDemo.Controls
{
public sealed partial class ToggleButtonDemo : Page
{
public ToggleButtonDemo()
{
this.InitializeComponent();
this.Loaded += ToggleButtonDemo_Loaded;
}
void ToggleButtonDemo_Loaded(object sender, RoutedEventArgs e)
{
/*
* ToggleButton - Button
* IsThreeState - 3
* IsChecked - : false, true, null
* Checked -
* Unchecked -
* Indeterminate -
*/
ToggleButton btn = new ToggleButton();
btn.Content = " ";
btn.Checked += btn_Checked;
btn.Unchecked += btn_Unchecked;
root.Children.Add(btn);
}
async void btn_Unchecked(object sender,
RoutedEventArgs e)
{
await new MessageDialog("
").ShowAsync();
}
async void btn_Checked(object sender,
RoutedEventArgs e)
{
await new MessageDialog("
").ShowAsync();
}
}
}
5、RadioButtonのDemoRadioButtonDemo.xaml
<Page
x:Class="XamlDemo.Controls.RadioButtonDemo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:XamlDemo.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="Transparent">
<StackPanel Name="root" Margin="120 0 0 0">
<!--
RadioButton - ( ToggleButton)
GroupName - ,
-->
<RadioButton GroupName="groupName" IsChecked="True" Content="RadioButton1" />
<RadioButton GroupName="groupName" Content="RadioButton2" />
</StackPanel>
</Grid>
</Page>
6、CheckBoxのDemoCheckBox.xaml
<Page
x:Class="XamlDemo.Controls.CheckBoxDemo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:XamlDemo.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="Transparent">
<StackPanel Name="root" Margin="120 0 0 0">
<!--
CheckBox - ( ToggleButton)
-->
<CheckBox IsChecked="True" Content="CheckBox1" />
<CheckBox IsChecked="False" Content="CheckBox2" />
</StackPanel>
</Grid>
</Page>
7、ToggleSwitchのDemoToggleSwitchDemo.xaml
<Page
x:Class="XamlDemo.Controls.ToggleSwitchDemo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:XamlDemo.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="Transparent">
<Grid.Resources>
<!--
-->
<Style x:Key="MyToggleSwitchStyle" TargetType="ToggleSwitch">
<Setter Property="OffContentTemplate">
<Setter.Value>
<DataTemplate>
<Grid Background="Red">
<TextBlock Text="{Binding}" />
</Grid>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</Grid.Resources>
<StackPanel Name="root" Margin="120 0 0 0">
<!--
ToggleSwitch -
Header -
OffContent -
OnContent -
IsOn - On
Toggled -
-->
<ToggleSwitch OffContent="off" Header="wifi" IsOn="True" Style="{StaticResource MyToggleSwitchStyle}">
<!--
-->
<ToggleSwitch.OnContent>
<StackPanel Background="Blue">
<TextBlock Text="on" TextAlignment="Right" />
</StackPanel>
</ToggleSwitch.OnContent>
</ToggleSwitch>
</StackPanel>
</Grid>
</Page>
OK [ソースのダウンロード]