Silverlight现场集控制
我一直缺少Silverlight中HTML的经典字段集,在web上找不到任何解决方案。我该如何建造一个呢?我想我会建造一个 这可能不是解决这个问题的最好方法,但它很有效,我只是想分享一下,因为我觉得其他人可能也在寻找同样的东西 不过,简单的解决方案是,您可以设置字体大小、前景和图例标题 标记:Silverlight现场集控制,silverlight,controls,fieldset,Silverlight,Controls,Fieldset,我一直缺少Silverlight中HTML的经典字段集,在web上找不到任何解决方案。我该如何建造一个呢?我想我会建造一个 这可能不是解决这个问题的最好方法,但它很有效,我只是想分享一下,因为我觉得其他人可能也在寻找同样的东西 不过,简单的解决方案是,您可以设置字体大小、前景和图例标题 标记: <Controls:Fieldset BorderBrush="#FFcccccc" Legend="LegendHeader" LegendFontSize="14" LegendForegrou
<Controls:Fieldset BorderBrush="#FFcccccc" Legend="LegendHeader" LegendFontSize="14" LegendForeground="Green">
<Button Content="Button" />
</Controls:Fieldset>
我为VB.NET代码道歉
正如我所说的,可能有很多更好的解决方案,但接下来就是了。我想我会构建一个 这可能不是解决这个问题的最好方法,但它很有效,我只是想分享一下,因为我觉得其他人可能也在寻找同样的东西 不过,简单的解决方案是,您可以设置字体大小、前景和图例标题 标记:
<Controls:Fieldset BorderBrush="#FFcccccc" Legend="LegendHeader" LegendFontSize="14" LegendForeground="Green">
<Button Content="Button" />
</Controls:Fieldset>
我为VB.NET代码道歉
正如我所说,可能有很多更好的解决方案,但我知道有两种选择:
我知道有两种选择:
Public Class Fieldset
Inherits ContentControl
Public Sub New()
End Sub
Public Shared ReadOnly LegendProperty As DependencyProperty = DependencyProperty.
Register("Legend", GetType(String), GetType(Fieldset), New PropertyMetadata(AddressOf OnLegendChanged))
Private Shared Sub OnLegendChanged(ByVal d As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
Dim fieldset = TryCast(d, Fieldset)
fieldset.Legend = e.NewValue.ToString()
End Sub
Public Property Legend As String
Get
Return Me.GetValue(LegendProperty).ToString()
End Get
Set(ByVal value As String)
MyBase.SetValue(LegendProperty, value)
End Set
End Property
Public Shared ReadOnly LegendFontSizeProperty As DependencyProperty = DependencyProperty.
Register("LegendFontSize", GetType(Double), GetType(Fieldset), New PropertyMetadata(AddressOf OnLegendFontSizeChanged))
Private Shared Sub OnLegendFontSizeChanged(ByVal d As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
Dim fieldset = TryCast(d, Fieldset)
fieldset.LegendFontSize = CDbl(e.NewValue)
End Sub
Public Property LegendFontSize As Double
Get
Return CDbl(Me.GetValue(LegendFontSizeProperty))
End Get
Set(ByVal value As Double)
MyBase.SetValue(LegendFontSizeProperty, value)
End Set
End Property
Public Shared ReadOnly LegendForegroundProperty As DependencyProperty = DependencyProperty.
Register("LegendForeground", GetType(SolidColorBrush), GetType(Fieldset), New PropertyMetadata(AddressOf OnLegendForegroundChanged))
Private Shared Sub OnLegendForegroundChanged(ByVal d As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
Dim fieldset = TryCast(d, Fieldset)
fieldset.LegendForeground = DirectCast(e.NewValue, SolidColorBrush)
End Sub
Public Property LegendForeground As SolidColorBrush
Get
Return DirectCast(Me.GetValue(LegendForegroundProperty), SolidColorBrush)
End Get
Set(ByVal value As SolidColorBrush)
MyBase.SetValue(LegendForegroundProperty, value)
End Set
End Property
End Class