WPF学习之路(十二)控件(Range控件)

 

ProgressBar

进度条,主要属性:Minimum\Maximun\Value, IsIndeterminate为True时,进度条会循环运转

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
    </Grid.RowDefinitions>
    <StackPanel Grid.Row="0" VerticalAlignment="Center" HorizontalAlignment="Center">
        <ProgressBar Name="pb1" Height="20" Width="200" Foreground="LightBlue" IsIndeterminate="True"></ProgressBar>
    </StackPanel>
    <StackPanel Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center">
        <ProgressBar Name="pb2" Height="20" Width="200" Foreground="LightBlue"></ProgressBar>
        <Button Name="btn" MaxWidth="50" Margin="5" Click="BTN_Click">Start</Button>
    </StackPanel>
</Grid>
private void BTN_Click(object sender, RoutedEventArgs e)
{
    Duration duration = new Duration(TimeSpan.FromSeconds(10));
    DoubleAnimation doubleAnimation = new DoubleAnimation(100, duration);
    pb2.BeginAnimation(ProgressBar.ValueProperty, doubleAnimation);
}

 

 

更多内容

http://www.codeproject.com/Articles/38555/WPF-ProgressBar

http://blog.csdn.net/tcjiaan/article/details/6963687

 

 

Silder

很常见的滑块,控件的外观上显示一系例刻度值,并存在一个可以被拖动的滑块,用户可以通过拖动滑块来控制控件的值

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Rectangle Grid.Column="0" x:Name="rect" Fill="Black"></Rectangle>
    <StackPanel Grid.Column="1">
        <StackPanel Orientation="Horizontal" Margin="10,2,5,2" >
            <TextBlock Text="R" Margin="5,1,1,1" VerticalAlignment="Center"></TextBlock>
            <Slider Name="RSlider" Margin="5" Minimum="0" Maximum="255" TickFrequency="10" Ticks="0,50,100,150,200,250"
                    TickPlacement="BottomRight" IsSnapToTickEnabled="False" ValueChanged="RSlider_ValueChanged" MinWidth="220"></Slider>
        </StackPanel>
        <StackPanel Orientation="Horizontal" Margin="10,2,5,2" >
            <TextBlock Text="G" Margin="5,1,1,1" VerticalAlignment="Center"></TextBlock>
            <Slider Name="GSlider" Margin="5" Minimum="0" Maximum="255" TickFrequency="10" Ticks="0,50,100,150,200,250"
                    TickPlacement="BottomRight" IsSnapToTickEnabled="False" ValueChanged="GSlider_ValueChanged" MinWidth="220"></Slider>
        </StackPanel>
        <StackPanel Orientation="Horizontal" Margin="10,2,5,2" >
            <TextBlock Text="B" Margin="5,1,1,1" VerticalAlignment="Center"></TextBlock>
            <Slider Name="BSlider" Margin="5" Minimum="0" Maximum="255" TickFrequency="10" Ticks="0,50,100,150,200,250"
                    TickPlacement="BottomRight" IsSnapToTickEnabled="False" ValueChanged="BSlider_ValueChanged" MinWidth="220"></Slider>
        </StackPanel>
    </StackPanel>
</Grid>
private void RSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {
            Update();
        }

        private void BSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {
            Update();
        }

        private void GSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {
            Update();
        }

        private void Update()
        {
            Color color = Color.FromRgb(Convert.ToByte(RSlider.Value), Convert.ToByte(BSlider.Value), Convert.ToByte(GSlider.Value));
            rect.Fill = new SolidColorBrush(color);
        }

 

更多内容

http://blog.csdn.net/tcjiaan/article/details/6997900

 

 

 

 

 

 

To be continue...

posted on 2015-04-24 09:42  alex_cool  阅读(756)  评论(2编辑  收藏  举报