8,735
社区成员
发帖
与我相关
我的任务
分享
Private FullRect As RectangleGeometry
Private HeaderRect As RectangleGeometry
Private HeaderContainer As ContentControl
'Public Event evt As SizeChangedEventHandler
''' <summary>
''' Create a new instance of the GroupBox control.
''' </summary>
Sub New()
DefaultStyleKey = GetType(GroupBox)
AddHandler SizeChanged, AddressOf GroupBox_SizeChanged
End Sub
''' <summary>
''' Build the visual tree for the GroupBox control when the template is applied.
''' </summary>
Public Overrides Sub OnApplyTemplate()
MyBase.OnApplyTemplate()
FullRect = CType(GetTemplateChild("FullRect"), RectangleGeometry)
HeaderRect = CType(GetTemplateChild("HeaderRect"), RectangleGeometry)
HeaderContainer = CType(GetTemplateChild("HeaderContainer"), ContentControl)
AddHandler HeaderContainer.SizeChanged, AddressOf HeaderContainer_SizeChanged
End Sub
''' <summary>
''' Header Dependency Property
''' </summary>
Public Shared ReadOnly HeaderProperty As DependencyProperty = _
DependencyProperty.Register("Header", GetType(Object), GetType(GroupBox), Nothing)
''' <summary>
''' The Header for the GroupBox
''' </summary>
Public Property Header() As Object
Get
Return GetValue(HeaderProperty)
End Get
Set(ByVal value As Object)
SetValue(HeaderProperty, value)
End Set
End Property
''' <summary>
''' HeaderTemplate dependency property
''' </summary>
Public Shared ReadOnly HeaderTemplateProperty As DependencyProperty = _
DependencyProperty.Register("HeaderTemplate", GetType(DataTemplate), GetType(GroupBox), Nothing)
''' <summary>
''' The Header DataTemplate
''' </summary>
Public Property HeaderTemplate() As DataTemplate
Get
Return CType(GetValue(HeaderTemplateProperty), DataTemplate)
End Get
Set(ByVal value As DataTemplate)
SetValue(HeaderTemplateProperty, value)
End Set
End Property
Private Sub GroupBox_SizeChanged(ByVal sender As Object, ByVal e As SizeChangedEventArgs)
FullRect.Rect = New Rect(New Point(), e.NewSize)
End Sub
Private Sub HeaderContainer_SizeChanged(ByVal sender As Object, ByVal e As SizeChangedEventArgs)
HeaderRect.Rect = New Rect(New Point(HeaderContainer.Margin.Left, 0), e.NewSize)
End Sub
<sdk:HeaderedItemsControl Margin="211,106,35,106" Height="88" Width="154">
<sdk:HeaderedItemsControl.Header>
<Button Content="Header is a button"></Button>
</sdk:HeaderedItemsControl.Header>
<Grid />
</sdk:HeaderedItemsControl>
<toolkit:HeaderedContentControl Margin="32,201,0,0" Width="120">
<toolkit:HeaderedContentControl.Header>
<Button Content="Header is a button"></Button>
</toolkit:HeaderedContentControl.Header>
<Grid />
</toolkit:HeaderedContentControl>
<toolkit:Expander Margin="8,8,0,0" Height="88" Width="154">
<toolkit:Expander.Header>
<Button Content="Header is a button"></Button>
</toolkit:Expander.Header>
<Grid />
</toolkit:Expander>
<toolkit:Accordion Margin="200,200,0,0" Height="88" Width="154">
<toolkit:AccordionItem>
<toolkit:AccordionItem.Header>
<Button Content="Header is a button"></Button>
</toolkit:AccordionItem.Header>
</toolkit:AccordionItem>
<Grid />
</toolkit:Accordion>