|
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Data
Imports System.Windows.Documents
Imports System.Windows.Input
Imports System.Windows.Media
Imports System.Windows.Media.Imaging
Imports System.Windows.Navigation
Imports System.Windows.Shapes
''' <summary>
''' This is a simple Button subclass that inherits the MinDate DP
''' </summary>
Public Class MyCustomButton
Inherits Button
''' <summary>
''' Constructs a new MyCustomButton object, and adds the MyCustomButton
''' class as a child of the MyStackPanel.MinDate DP
''' </summary>
Shared Sub New()
MinDateProperty = MyStackPanel.MinDateProperty.AddOwner(GetType(MyCustomButton), New FrameworkPropertyMetadata(DateTime.MinValue, FrameworkPropertyMetadataOptions.[Inherits]))
End Sub
#Region "Inherited DP declaration"
''' <summary>
''' MinDate DP declaration
''' </summary>
Public Shared ReadOnly MinDateProperty As DependencyProperty
Public Property MinDate() As DateTime
Get
Return DirectCast(GetValue(MinDateProperty), DateTime)
End Get
Set(ByVal value As DateTime)
SetValue(MinDateProperty, value)
End Set
End Property
#End Region
End Class
''' <summary>
''' This is a simple StackPanel subclass that is the source for the
''' inherited MinDate DP
''' </summary>
Public Class MyStackPanel
Inherits StackPanel
''' <summary>
''' Constructs a new MyStackPanel object, and registers the MinDate DP
''' </summary>
Shared Sub New()
MinDateProperty = DependencyProperty.Register("MinDate", GetType(DateTime), GetType(MyStackPanel), New FrameworkPropertyMetadata(DateTime.MinValue, FrameworkPropertyMetadataOptions.[Inherits]))
End Sub
#Region "Source for Inherited MinDate DP declaration"
''' <summary>
''' MinDate DP declaration
''' </summary>
Public Shared ReadOnly MinDateProperty As DependencyProperty
Public Property MinDate() As DateTime
Get
Return DirectCast(GetValue(MinDateProperty), DateTime)
End Get
Set(ByVal value As DateTime)
SetValue(MinDateProperty, value)
End Set
End Property
#End Region
End Class
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I currently hold the following qualifications (amongst others, I also studied Music Technology and Electronics, for my sins)
- MSc (Passed with distinctions), in Information Technology for E-Commerce
- BSc Hons (1st class) in Computer Science & Artificial Intelligence
Both of these at Sussex University UK.
Award(s)
I am lucky enough to have won a few awards for Zany Crazy code articles over the years
- Microsoft C# MVP 2016
- Codeproject MVP 2016
- Microsoft C# MVP 2015
- Codeproject MVP 2015
- Microsoft C# MVP 2014
- Codeproject MVP 2014
- Microsoft C# MVP 2013
- Codeproject MVP 2013
- Microsoft C# MVP 2012
- Codeproject MVP 2012
- Microsoft C# MVP 2011
- Codeproject MVP 2011
- Microsoft C# MVP 2010
- Codeproject MVP 2010
- Microsoft C# MVP 2009
- Codeproject MVP 2009
- Microsoft C# MVP 2008
- Codeproject MVP 2008
- And numerous codeproject awards which you can see over at my blog