Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to Pro-gramatically add click Event to FrameworkElementFactory

Tags:

c#

wpf

I'm trying to apply a data template programatically behind code. I've set the properties fine but I'm stuck on how to add the Click Event. May I ask how abouts do I do that?

Xaml Code that's being copied

<DataTemplate>
                <telerik:RadToggleButton Content="+" 
                                         Width="20" 
                                         Height="20" 
                                         HorizontalContentAlignment="Center"                                                         
                                         VerticalContentAlignment="Center"       
                                         Click="RiskButton_OnClick"
                                         Visibility="{Binding AttachmentVisibility, Mode=TwoWay, Converter={StaticResource BooleanToVisibilityConverter}}"/>
</DataTemplate>

What I currently have

var toggleButton = new FrameworkElementFactory(typeof(RadToggleButton));
toggleButton.SetValue(RadToggleButton.ContentProperty, "+");
toggleButton.SetValue(RadToggleButton.WidthProperty, 20.0);
toggleButton.SetValue(RadToggleButton.HeightProperty, 20.0);
toggleButton.SetValue(RadToggleButton.HorizontalContentAlignmentProperty, HorizontalAlignment.Center);
toggleButton.SetValue(RadToggleButton.VerticalAlignmentProperty, VerticalAlignment.Center);
//toggleButton.AddHandler(); <- what goes here?

DataTemplate dt = new DataTemplate
{
    VisualTree = toggleButton
};

dt.Seal();
like image 299
Master Avatar asked Nov 18 '25 16:11

Master


1 Answers

toggleButton.AddHandler(RadToggleButton.ClickEvent, new RoutedEventHandler(SomeHandler));

SomeHandler is a RoutedEventHandler:

public void SomeHandler(object sender, RoutedEventArgs e) 
{
}
like image 77
15ee8f99-57ff-4f92-890c-b56153 Avatar answered Nov 21 '25 06:11

15ee8f99-57ff-4f92-890c-b56153