本ページは広告が含まれています。気になる広告をクリック頂けますと、サーバ運営費になります(^^
タッチ操作アプリを作成したい。メモリを変える時に、スクロールバーをつけてもいいのだけど、見栄えがあまり、、、。
そこで利用したいのがslider
1. slider を縦に配置する
slider プロパティ
OrientationをVerticalにする
2. sliderの値の増減を逆方向にする
slider プロパティ
IsDirectionReversedにチェックを入れる
3.上げる、下げるボタンをクリックすると1ずつ値が変わる
以下、MainWindows.xamlに貼り付けるとできます。
Xamlサンプル
<Window x:Class="SliderThumb.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:SliderThumb" mc:Ignorable="d" Title="MainWindow" Height="350" Width="525"> <Grid> <Slider x:Name="slider" HorizontalAlignment="Left" Margin="28,58,0,0" VerticalAlignment="Top" Height="181" Width="31" ValueChanged="slider_ValueChanged" Orientation="Vertical" IsDirectionReversed="True"/> <TextBox x:Name="SliderValue" HorizontalAlignment="Left" Height="23" Margin="154,87,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="201"/> <Button x:Name="button" Content="上げる" HorizontalAlignment="Left" Margin="154,145,0,0" VerticalAlignment="Top" Width="75" Click="button_Click"/> <Button x:Name="button_Copy" Content="下げる" HorizontalAlignment="Left" Margin="280,145,0,0" VerticalAlignment="Top" Width="75" Click="button_Copy_Click"/> </Grid> </Window>
C#コード
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace SliderThumb { /// <summary> /// MainWindow.xaml の相互作用ロジック /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) { SliderValue.Text = slider.Value.ToString(); } private void button_Click(object sender, RoutedEventArgs e) { slider.Value = slider.Value + 1; } private void button_Copy_Click(object sender, RoutedEventArgs e) { slider.Value = slider.Value - 1; } } }