public class POMCheckBoxBehavior : Behavior<CheckBox>
{
public static readonly DependencyProperty GridViewProperty =
DependencyProperty.Register("GridView", typeof(RadGridView), typeof(POMCheckBoxBehavior), new PropertyMetadata(null));
//some properties
public RadGridView GridView
{
get { return (RadGridView)GetValue(GridViewProperty); }
set { SetValue(GridViewProperty, value); }
}
protected override void OnAttached()
{
base.OnAttached();
this.AssociatedObject.Loaded += AssociatedObject_Loaded;
this.AssociatedObject.Checked += AssociatedObject_Checked;
}
protected override void OnDetaching()
{
base.OnDetaching();
this.AssociatedObject.Loaded -= AssociatedObject_Loaded;
this.AssociatedObject.Checked -= AssociatedObject_Checked;
}
}
调用的页面:
<CheckBox Content="{Binding SizeName}"
Tag="{Binding Id}"
IsChecked="{Binding IsSelected,Mode=TwoWay}">
<i:Interaction.Behaviors>
<behaviors:POMCheckBoxBehavior GridView="{Binding .,ElementName=bodyTypeDetailGridView}" />
</i:Interaction.Behaviors>
</CheckBox>