我正在尝试进行自定义控制并将其绑定到静态字段。 我有点卡住,但这就是我希望它的工作方式:
<BooleanControl desc="Description" bind = {Binding Save.b}/>
Desc是checkBox的描述,Save是保存字段b的类,需要绑定到控件。
我正在进行自定义控制,因为我还需要通过向构造函数提供对字段的描述和引用来进行控制。
这就是我现在所拥有的:
public partial class BooleanControl : UserControl
{
public string desc { set; get; }
public BooleanControl()
{
InitializeComponent();
}
}
但是我不确定这是否是正确的方法,因为我不打算更改描述,我只需要在设计器中设置它并将值赋予构造函数。 我仍然缺少根据checkbox(在BooleanControl内部)的值更新Save.b的部分,因为我不确定这样做的正确方法。
答案 0 :(得分:1)
创建类型&#34; yourclass&#34;的动态属性命名为Bind,当它被填充时,用它做你想做的事。它看起来像这样:
public YourClass Bind
{
get { return (YourClass)GetValue(BindProperty); }
set { SetValue(BindProperty, value); }
}
// Using a DependencyProperty as the backing store for Bind. This enables animation, styling, binding, etc...
public static readonly DependencyProperty BindProperty =
DependencyProperty.Register("Bind", typeof(YourClass), typeof(UserControl1), new PropertyMetadata(BindModified));
private static void BindModified(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
((UserControl1)d).AttachEventHandler();
}
private void AttachEventHandler()
{
//Modify what you want here
}
你只需按照自己的意愿使用它:
<BooleanControl Bind="{Binding Save.b}"/>