code_junkie

How do I start a Storyboard in a Data Template in a Content Control in a User Control from codebehind?

Nov 13th, 2011
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. <ContentControl Name="myContentControl"
  2. ContentTemplate="{DynamicResource myDataTemplate}"/>
  3.  
  4. private void StartSB(object sender, ExecutedRoutedEventArgs e)
  5. {
  6. Storyboard sb = (Storyboard) this.TryFindResource("myStoryboard");
  7. sb.Begin(this);
  8. }
  9.  
  10. private void StartSB(object sender, ExecutedRoutedEventArgs e)
  11. {
  12. object sb = this.myContentControl.TryFindResource("myDataTemplate");
  13. }
  14.  
  15. <UserControl >
  16. <UserControl.Resources>
  17. <ResourceDictionary>
  18. <ResourceDictionary.MergedDictionaries>
  19. <ResourceDictionary Source="ResourcesmyUCResources.xaml" />
  20. </ResourceDictionary.MergedDictionaries>
  21. </ResourceDictionary>
  22. </UserControl.Resources>
  23. <ContentControl Name="myContentControl"
  24. ContentTemplate="{DynamicResource myDataTemplate}"
  25. Content="{Binding}" />
  26. ...
  27. </UserControl>
  28.  
  29. namespace myclass
  30. {
  31. public partial class myUserControl: UserControl, System.ComponentModel.INotifyPropertyChanged
  32. {
  33. ...
  34. public myUserControl()
  35. {
  36. InitializeComponent();
  37.  
  38. <!--setup keybinding-->
  39. }
  40.  
  41. public void KeyBindExecuted(object sender, ExecutedRoutedEventArgs e)
  42. {
  43. Object sb = this.myContentControl.TryFindResource("myDataTemplate");
  44. //sb returns the DataTemplate
  45. }
  46.  
  47. }
  48. }
  49.  
  50. <ResourceDictionary>
  51. <DataTemplate x:Key="myDataTemplate" >
  52. <Grid>
  53. <!-- elements like buttons -->
  54. </Grid>
  55. <DataTemplate.Resources>
  56. <Storyboard x:Key="myStoryBoard">
  57. <DoubleAnimation>
  58. <!-- animation stuff-->
  59. </DoubleAnimation>
  60.  
  61. </Storyboard>
  62. </DataTemplate.Resources>
  63. <DataTemplate.Triggers>
  64. <EventTrigger SourceName="aButton" RoutedEvent="Button.Click">
  65. <BeginStoryboard Storyboard="{StaticResource myStoryBoard}" />
  66. </EventTrigger>
  67. </DataTemplate.Triggers>
  68. </DataTemplate>
  69. </ResourceDictionary>
Add Comment
Please, Sign In to add comment