C# 如何将自定义附加属性绑定到代码隐藏中的CheckBox.IsChekedProperty?
我有附加属性,我想将其绑定到CheckBox.IsCheckedPropertyC# 如何将自定义附加属性绑定到代码隐藏中的CheckBox.IsChekedProperty?,c#,win-universal-app,C#,Win Universal App,我有附加属性,我想将其绑定到CheckBox.IsCheckedProperty public static object GetIsCheckedState(DependencyObject obj) { return (object)obj.GetValue(IsCheckedStateProperty); } public static void SetIsCheckedState(DependencyObject obj, object va
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>" />
uiElement是否为复选框控件?如果是,uiElement.SetBinding(checkbox.IsCheckedProperty,new Binding(){Path=new PropertyPath(“IsCheckedState”),Source=uiElement})错误。您提供了source=uielement,这是一个复选框,它不具有IsCheckedState属性,除非您在checkbox的子类中声明了DependencyProperty。请解释您的用例。所需的邮政编码是。在上面的代码中,ui元素是CheckBox控件。如何以双向模式将附加属性绑定到CheckBox.IsChecked属性?您能解释一下您的用例吗?为什么要将其绑定到复选框IsChecked?是否已选中此复选框?