Mini Kabibi Habibi

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

Imports Microsoft.VisualBasic
Imports System
Imports System.Globalization
Imports System.Windows
Imports System.Windows.Data
Imports DevExpress.Xpf.Grid
Imports DevExpress.Xpf.DemoBase
Imports System.Windows.Input
Imports System.Windows.Threading

Namespace GridDemo
	<CodeFile("ModuleResources/ColumnChooserClasses.(cs)")> _
	Partial Public Class ColumnChooser
		Inherits GridDemoModule
		Public Shared ReadOnly ColumnChooserTypeProperty As DependencyProperty = DependencyProperty.Register("ColumnChooserType", GetType(ColumnChooserType), GetType(ColumnChooser), New PropertyMetadata(ColumnChooserType.Default, New PropertyChangedCallback(AddressOf OnColumnChooserTypeChanged)))

		Private Shared Sub OnColumnChooserTypeChanged(ByVal d As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
			CType(d, ColumnChooser).ColumnChooserTypeChanged(CType(e.NewValue, ColumnChooserType))
		End Sub

		Public Property ColumnChooserType() As ColumnChooserType
			Get
				Return CType(GetValue(ColumnChooserTypeProperty), ColumnChooserType)
			End Get
			Set(ByVal value As ColumnChooserType)
				SetValue(ColumnChooserTypeProperty, value)
			End Set
		End Property

		Public Sub New()
			InitializeComponent()
			UpdateToggleButtonContent()
		End Sub

		Protected Overrides Sub RaiseIsPopupContentInvisibleChanged(ByVal e As DependencyPropertyChangedEventArgs)
			MyBase.RaiseIsPopupContentInvisibleChanged(e)
			If (Not IsPopupContentInvisible) Then
				Dispatcher.BeginInvoke(New Action(AddressOf gridView.ShowColumnChooser), DispatcherPriority.Render, Nothing)
			End If
		End Sub

		Private Sub columnChooser_PreviewGotKeyboardFocus(ByVal sender As Object, ByVal e As KeyboardFocusChangedEventArgs)
			e.Handled = True
		End Sub

		Private Sub ColumnChooserTypeChanged(ByVal newChooserType As ColumnChooserType)
			If newChooserType = ColumnChooserType.Default Then
				columnChooser.View = Nothing
				grid.View.ClearValue(GridViewBase.ColumnChooserFactoryProperty)
			Else
				columnChooser.View = gridView
				grid.View.ColumnChooserFactory = New DemoColumnChooser(columnChooser)
				gridView.ShowColumnChooser()
			End If
		End Sub

		Private Sub showHideButton_Toggle(ByVal sender As Object, ByVal e As RoutedEventArgs)
			UpdateToggleButtonContent()
		End Sub

		Private Sub UpdateToggleButtonContent()
			showHideButton.Content = If(showHideButton.IsChecked.Value, "Hide Column Chooser", "Show Column Chooser")
		End Sub
		Protected Overrides Function GetModuleDataContext() As Object
			MyBase.GetModuleDataContext()
			Return Me
		End Function

		Private Sub customColumnChooserExpander_Expanded(ByVal sender As Object, ByVal e As RoutedEventArgs)
			customColumnChooserExpander.Header = "Hide Column Chooser"
		End Sub

		Private Sub customColumnChooserExpander_Collapsed(ByVal sender As Object, ByVal e As RoutedEventArgs)
			customColumnChooserExpander.Header = "Show Column Chooser"
		End Sub
	End Class
End Namespace