c# - 捕获进度条值 onMouseClick

标签 c# wpf xaml

我有进度条,当我点击进度条时它应该得到值(点击鼠标的进度条) 这是进度条的 XAML

<ProgressBar x:Name="seekBar" Height="21" Margin="30,36,43,0" VerticalAlignment="Top" ValueChanged="seekBar_ValueChanged" BorderBrush="#FF9B99C3" BorderThickness="2">
    <ProgressBar.Foreground>
        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
            <GradientStop Color="#FF505285" Offset="0"/>
            <GradientStop Color="#FF858AF0" Offset="1"/>
        </LinearGradientBrush>
    </ProgressBar.Foreground>
    <ProgressBar.Background>
        <LinearGradientBrush EndPoint="0.5,1" MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">
            <GradientStop Color="White" Offset="1"/>
            <GradientStop Color="White"/>
            <GradientStop Color="#FF0F0F0F" Offset="1"/>
            <GradientStop Color="#FF326ED6" Offset="1"/>
            <GradientStop Color="#FFD1DBEE" Offset="0.491"/>
        </LinearGradientBrush>
    </ProgressBar.Background>
    <ProgressBar.Effect>
        <DropShadowEffect Opacity="0.15"/>
    </ProgressBar.Effect>
</ProgressBar>

当值改变时它调用函数 C# 代码

private void seekBar_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
    this.seekBar.Value = //what should i do here??
    //how to get the value of progressbar(where mouse is clicked)
}

最佳答案

试试这个:

private void seekBar_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
    double MousePosition = e.GetPosition(seekBar).X;
    this.seekBar.Value = SetProgressBarValue(MousePosition);
}

private double SetProgressBarValue(double MousePosition)
{
    double ratio = MousePosition/seekBar.ActualWidth;
    double ProgressBarValue = ratio*seekBar.Maximum;
    return ProgressBarValue;
}

代码改编自以下引用资料(参见讨论末尾发布的代码):http://bytes.com/topic/c-sharp/answers/722714-allowing-user-click-progressbar

关于c# - 捕获进度条值 onMouseClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20823614/

相关文章:

c# - ASP.NET core project is not loading in Visual Studio 2015 Update 3解决方法

c# - WPF 使用 MVVM 对集合进行分组

WPF - 将许多图像一张一张地加载到 ObservableCollection 中

wpf - 如果用户没有写权限,如何写入文件

c# - 哪个 WPF 元素用于 Visual Studio 代码编辑器?

c# - 启动画面 Activity 强制我的设备重新启动

c# - 引用类和命名空间 Visual Studio 2017

c# - UWP 动画列表项移动

c# - WPF 中的文本框绑定(bind)更新

c# - 如何从此 URL 获取文件内容?