Mini Kabibi Habibi
Imports Microsoft.VisualBasic
Imports System
Imports System.Windows
Imports System.Windows.Threading
Imports DevExpress.Xpf.DemoBase
Imports DevExpress.Xpf.Gauges
Imports DevExpress.Xpf.Utils
Namespace GaugesDemo
Partial Public Class LinearScales
Inherits GaugesDemoModule
Public Sub New()
InitializeComponent()
Dim dataGenerator As New EqualizerDataGenerator()
gauge.DataContext = dataGenerator
End Sub
End Class
Public Class EqualizerDataGenerator
Inherits DependencyObject
Public Shared ReadOnly Frequency32Property As DependencyProperty = DependencyPropertyManager.Register("Frequency32", GetType(Double), GetType(EqualizerDataGenerator))
Public Shared ReadOnly Frequency64Property As DependencyProperty = DependencyPropertyManager.Register("Frequency64", GetType(Double), GetType(EqualizerDataGenerator))
Public Shared ReadOnly Frequency125Property As DependencyProperty = DependencyPropertyManager.Register("Frequency125", GetType(Double), GetType(EqualizerDataGenerator))
Public Shared ReadOnly Frequency250Property As DependencyProperty = DependencyPropertyManager.Register("Frequency250", GetType(Double), GetType(EqualizerDataGenerator))
Public Shared ReadOnly Frequency500Property As DependencyProperty = DependencyPropertyManager.Register("Frequency500", GetType(Double), GetType(EqualizerDataGenerator))
Public Shared ReadOnly Frequency1KProperty As DependencyProperty = DependencyPropertyManager.Register("Frequency1K", GetType(Double), GetType(EqualizerDataGenerator))
Public Shared ReadOnly Frequency2KProperty As DependencyProperty = DependencyPropertyManager.Register("Frequency2K", GetType(Double), GetType(EqualizerDataGenerator))
Public Shared ReadOnly Frequency4KProperty As DependencyProperty = DependencyPropertyManager.Register("Frequency4K", GetType(Double), GetType(EqualizerDataGenerator))
Public Shared ReadOnly Frequency8KProperty As DependencyProperty = DependencyPropertyManager.Register("Frequency8K", GetType(Double), GetType(EqualizerDataGenerator))
Public Shared ReadOnly Frequency16KProperty As DependencyProperty = DependencyPropertyManager.Register("Frequency16K", GetType(Double), GetType(EqualizerDataGenerator))
Public Property Frequency32() As Double
Get
Return CDbl(GetValue(Frequency32Property))
End Get
Set(ByVal value As Double)
SetValue(Frequency32Property, value)
End Set
End Property
Public Property Frequency64() As Double
Get
Return CDbl(GetValue(Frequency64Property))
End Get
Set(ByVal value As Double)
SetValue(Frequency64Property, value)
End Set
End Property
Public Property Frequency125() As Double
Get
Return CDbl(GetValue(Frequency125Property))
End Get
Set(ByVal value As Double)
SetValue(Frequency125Property, value)
End Set
End Property
Public Property Frequency250() As Double
Get
Return CDbl(GetValue(Frequency250Property))
End Get
Set(ByVal value As Double)
SetValue(Frequency250Property, value)
End Set
End Property
Public Property Frequency500() As Double
Get
Return CDbl(GetValue(Frequency500Property))
End Get
Set(ByVal value As Double)
SetValue(Frequency500Property, value)
End Set
End Property
Public Property Frequency1K() As Double
Get
Return CDbl(GetValue(Frequency1KProperty))
End Get
Set(ByVal value As Double)
SetValue(Frequency1KProperty, value)
End Set
End Property
Public Property Frequency2K() As Double
Get
Return CDbl(GetValue(Frequency2KProperty))
End Get
Set(ByVal value As Double)
SetValue(Frequency2KProperty, value)
End Set
End Property
Public Property Frequency4K() As Double
Get
Return CDbl(GetValue(Frequency4KProperty))
End Get
Set(ByVal value As Double)
SetValue(Frequency4KProperty, value)
End Set
End Property
Public Property Frequency8K() As Double
Get
Return CDbl(GetValue(Frequency8KProperty))
End Get
Set(ByVal value As Double)
SetValue(Frequency8KProperty, value)
End Set
End Property
Public Property Frequency16K() As Double
Get
Return CDbl(GetValue(Frequency16KProperty))
End Get
Set(ByVal value As Double)
SetValue(Frequency16KProperty, value)
End Set
End Property
Private Const MaxValue As Integer = 100
Private Const UpdateIneterval As Integer = 500
Private ReadOnly random As New Random()
Private ReadOnly timer As New DispatcherTimer()
Public Sub New()
AddHandler timer.Tick, AddressOf OnTimedEvent
timer.Interval = New TimeSpan(0, 0, 0, 0, UpdateIneterval)
timer.Start()
End Sub
Private Sub OnTimedEvent(ByVal source As Object, ByVal e As EventArgs)
Frequency32 = random.Next(MaxValue)
Frequency64 = random.Next(MaxValue)
Frequency125 = random.Next(MaxValue)
Frequency250 = random.Next(MaxValue)
Frequency500 = random.Next(MaxValue)
Frequency1K = random.Next(MaxValue)
Frequency2K = random.Next(MaxValue)
Frequency4K = random.Next(MaxValue)
Frequency8K = random.Next(MaxValue)
Frequency16K = random.Next(MaxValue)
End Sub
End Class
End Namespace