Mini Kabibi Habibi

Current Path : C:/Users/Public/Documents/DXperience 13.1 Demos/WPF/VB/CarouselDemo.Wpf/Modules/
Upload File :
Current File : C:/Users/Public/Documents/DXperience 13.1 Demos/WPF/VB/CarouselDemo.Wpf/Modules/MovingPath.xaml.vb

Imports Microsoft.VisualBasic
Imports System.Windows
Imports System.Windows.Input
Imports System.Windows.Controls.Primitives
Imports DevExpress.Xpf.DemoBase
Imports System.Windows.Controls
Imports DevExpress.Xpf.Carousel
Imports System.Windows.Media
Imports System.Windows.Markup
Imports System.Windows.Data
Imports System
Imports DevExpress.Xpf.Editors

Namespace CarouselDemo
	Partial Public Class MovingPath
		Inherits CarouselDemoModule
		Public Sub New()
			InitializeComponent()
			AddItems("/CarouselDemo;component/Data/Images/Logos", ItemType.BinaryImage, carousel)
			AddHandler paddingTopSlider.EditValueChanged, AddressOf TrackBarValueChanged

			AddHandler paddingBottomSlider.EditValueChanged, AddressOf TrackBarValueChanged
			AddHandler paddingLeftSlider.EditValueChanged, AddressOf TrackBarValueChanged
			AddHandler paddingRightSlider.EditValueChanged, AddressOf TrackBarValueChanged
			AddHandler carousel.Loaded, AddressOf carousel_Loaded
		End Sub
		Private Sub carousel_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs)
			paddingLineVisualizer.InvalidateVisual()
		End Sub
		Private Sub TrackBarValueChanged(ByVal sender As Object, ByVal e As EditValueChangedEventArgs)
			paddingLineVisualizer.InvalidateVisual()
		End Sub
	End Class
	Public Class LineVisualizer
		Inherits Grid
		Public Shared ReadOnly CarouselProperty As DependencyProperty
		Shared Sub New()
			CarouselProperty = DependencyProperty.Register("Carousel", GetType(CarouselPanel), GetType(LineVisualizer), New FrameworkPropertyMetadata(Nothing))
		End Sub
		Public Property Carousel() As CarouselPanel
			Get
				Return CType(GetValue(CarouselProperty), CarouselPanel)
			End Get
			Set(ByVal value As CarouselPanel)
				SetValue(CarouselProperty, value)
			End Set
		End Property
		Protected Overrides Sub OnRender(ByVal dc As DrawingContext)
			MyBase.OnRender(dc)
			If Carousel IsNot Nothing Then
				Dim pen As New Pen(Brushes.Gray, 1R)
				dc.DrawLine(pen, New Point(0, Carousel.PathPadding.Top / 100R * Carousel.ActualHeight), New Point(Carousel.ActualWidth, Carousel.PathPadding.Top / 100R * Carousel.ActualHeight))
				dc.DrawLine(pen, New Point(0, (1R - Carousel.PathPadding.Bottom / 100R) * Carousel.ActualHeight), New Point(Carousel.ActualWidth, (1R - Carousel.PathPadding.Bottom / 100R) * Carousel.ActualHeight))
				dc.DrawLine(pen, New Point(Carousel.PathPadding.Left / 100R * Carousel.ActualWidth, 0), New Point(Carousel.PathPadding.Left / 100R * Carousel.ActualWidth, ActualHeight))
				dc.DrawLine(pen, New Point((1R - Carousel.PathPadding.Right / 100R) * Carousel.ActualWidth, 0), New Point((1R - Carousel.PathPadding.Right / 100R) * Carousel.ActualWidth, ActualHeight))
			End If
		End Sub
	End Class
	Public Class PaddingConverter
		Inherits MarkupExtension
		Implements IMultiValueConverter
		Public Overrides Function ProvideValue(ByVal serviceProvider As IServiceProvider) As Object
			Return Me
		End Function
		#Region "IMultiValueConverter Members"
		Private Function IMultiValueConverter_Convert(ByVal values() As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements IMultiValueConverter.Convert
			Return New Thickness(CDbl(values(0)), CDbl(values(1)), CDbl(values(2)), CDbl(values(3)))
		End Function
		Private Function ConvertBack(ByVal value As Object, ByVal targetTypes() As Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object() Implements IMultiValueConverter.ConvertBack
			Throw New NotImplementedException()
		End Function
		#End Region
	End Class
End Namespace