wpf 附加属性 RegisterAttached 内容属性

    //
    // 摘要:
    //     选中时展示的元素
    public static readonly DependencyProperty CheckedElementProperty = DependencyProperty.RegisterAttached("CheckedElement", typeof(object), typeof(StatusSwitchElement), new PropertyMetadata((object)null));

    //
    // 摘要:
    //     是否隐藏元素
    public static readonly DependencyProperty HideUncheckedElementProperty = DependencyProperty.RegisterAttached("HideUncheckedElement", typeof(bool), typeof(StatusSwitchElement), new PropertyMetadata(ValueBoxes.FalseBox));

    public static void SetCheckedElement(DependencyObject element, object value)
    {
        element.SetValue(CheckedElementProperty, value);
    }

    public static object GetCheckedElement(DependencyObject element)
    {
        return element.GetValue(CheckedElementProperty);
    }

    public static void SetHideUncheckedElement(DependencyObject element, bool value)
    {
        element.SetValue(HideUncheckedElementProperty, ValueBoxes.BooleanBox(value));
    }

    public static bool GetHideUncheckedElement(DependencyObject element)
    {
        return (bool)element.GetValue(HideUncheckedElementProperty);
    }
}

用法:

 <Style x:Key="DemoInfoSortButtonStyle" BasedOn="{StaticResource ToggleButtonCustom}" TargetType="ToggleButton" x:Shared="False">
     <Setter Property="Content">
         <Setter.Value>
             <Border CornerRadius="4" BorderThickness="1" BorderBrush="{DynamicResource BorderBrush}" Background="{DynamicResource RegionBrush}" Height="30" Width="30" >
                 <Image Stretch="None" Source="pack://application:,,,/Resource/Image/LeftMainContent/SortAscending_gray_16x.png"/>
             </Border>
         </Setter.Value>
     </Setter>
     <Setter Property="hc:StatusSwitchElement.CheckedElement">
         <Setter.Value>
             <Border CornerRadius="4" Height="30" Width="30" BorderThickness="1" BorderBrush="{DynamicResource PrimaryBrush}"/>
         </Setter.Value>
     </Setter>
 </Style>
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值