簡體   English   中英

如何在后面的代碼中將自定義附加屬性綁定到CheckBox.IsChekedProperty?

[英]How to bind Custom attached property to CheckBox.IsChekedProperty in code behind?

我有附加的屬性,我想將此綁定到CheckBox.IsCheckedProperty。

  public static object GetIsCheckedState(DependencyObject obj)
    {
        return (object)obj.GetValue(IsCheckedStateProperty);
    }

    public static void SetIsCheckedState(DependencyObject obj, object value)
    {
        obj.SetValue(IsCheckedStateProperty, value);
    }

    // Using a DependencyProperty as the backing store for IsCheckedState.  This enables animation, styling, binding, etc...
    public static readonly DependencyProperty IsCheckedStateProperty =
        DependencyProperty.RegisterAttached("IsCheckedState", typeof(object), typeof(GridCellCheckBoxRenderer), new PropertyMetadata(null,OnIsCheckedStateChanged));

    private static void OnIsCheckedStateChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        var checkBox = d as CheckBox;
        checkBox.IsChecked = (bool?)e.NewValue;
    }
 uiElement.SetBinding(CheckBox.IsCheckedProperty, new Binding() { Path = new PropertyPath("IsCheckedState"), Source = uiElement});

像上面那樣在UWP中綁定附加屬性的正確方法是正確的嗎?

我不明白您的用例是什么? 您可以在xaml中設置AttachedProperty並將其綁定到某些源:

<Checkbox attProp:AttachedPropertiesClassName.AttachedProperty="<your binding>" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM