08-16-2016 05:08 AM - edited 08-16-2016 05:23 AM
I'm attempting to create a WPF application that contains various TestStand UI Elements. I've got the elements displaying however I can't get the sequence file to load in. I can select a file, press open and then a debug message will tell me the file path (which is correct) however axSequenceFileViewMgr doesn't seem to want to update with the contents of the sequence.
Here's my code for reference:
private AxApplicationMgr mAppMgr; private AxSequenceView axSequenceView; private AxSequenceFileViewMgr axSequenceFileViewMgr; private AxButton axButton; private void WindowLoaded( object sender, RoutedEventArgs e ) { WindowsFormsHost host = new WindowsFormsHost(); mAppMgr = new AxApplicationMgr(); host.Child = mAppMgr; main_layout.Children.Add(host); mAppMgr.Start(); WindowsFormsHost seq_mgr = new WindowsFormsHost(); axSequenceFileViewMgr = new AxSequenceFileViewMgr(); seq_mgr.Child = axSequenceFileViewMgr; main_layout.Children.Add( seq_mgr ); WindowsFormsHost button = new WindowsFormsHost(); axButton = new AxButton(); button.Child = axButton; main_layout.Children.Add( button ); WindowsFormsHost seq_view = new WindowsFormsHost(); axSequenceView = new AxSequenceView(); seq_view.Child = axSequenceView; main_layout.Children.Add( seq_view ); // Link the button to opening sequence file dlg axSequenceFileViewMgr.ConnectCommand(axButton, CommandKinds.CommandKind_OpenSequenceFiles, 0, CommandConnectionOptions.CommandConnection_NoOptions); // Event handler to detect when a file is opened mAppMgr.DisplaySequenceFile += new NationalInstruments.TestStand.Interop.UI.Ax._ApplicationMgrEvents_DisplaySequenceFileEventHandler(this.axApplicationMgr_DisplaySequenceFile); } private void axApplicationMgr_DisplaySequenceFile( object sender, NationalInstruments.TestStand.Interop.UI.Ax._ApplicationMgrEvents_DisplaySequenceFileEvent e ) { MessageBox.Show(e.file.Path); axSequenceFileViewMgr.SequenceFile = e.file; }
So how do I go about linking axSequenceFileViewMgr and axSequenceView so that when the file is changed, the contents are displayed?
08-16-2016 07:27 AM
private AxApplicationMgr mAppMgr; private AxSequenceView axSequenceView; private AxSequenceFileViewMgr axSequenceFileViewMgr; private AxButton axButton; private void WindowLoaded( object sender, RoutedEventArgs e ) { WindowsFormsHost host = new WindowsFormsHost(); mAppMgr = new AxApplicationMgr(); host.Child = mAppMgr; main_layout.Children.Add(host); WindowsFormsHost seq_mgr = new WindowsFormsHost(); axSequenceFileViewMgr = new AxSequenceFileViewMgr(); seq_mgr.Child = axSequenceFileViewMgr; main_layout.Children.Add( seq_mgr ); WindowsFormsHost button = new WindowsFormsHost(); axButton = new AxButton(); button.Child = axButton; main_layout.Children.Add( button ); WindowsFormsHost seq_view = new WindowsFormsHost(); axSequenceView = new AxSequenceView(); seq_view.Child = axSequenceView; main_layout.Children.Add( seq_view ); // Link the button to opening sequence file dlg axSequenceFileViewMgr.ConnectCommand(axButton, CommandKinds.CommandKind_OpenSequenceFiles, 0, CommandConnectionOptions.CommandConnection_NoOptions); // connect sequence view to sequence file view manager axSequenceFileViewMgr.ConnectSequenceView(axSequenceView); // Event handler to detect when a file is opened mAppMgr.DisplaySequenceFile += new NationalInstruments.TestStand.Interop.UI.Ax._ApplicationMgrEvents_DisplaySequenceFileEventHandler(this.axApplicationMgr_DisplaySequenceFile); mAppMgr.Start(); } private void axApplicationMgr_DisplaySequenceFile( object sender, NationalInstruments.TestStand.Interop.UI.Ax._ApplicationMgrEvents_DisplaySequenceFileEvent e ) { MessageBox.Show(e.file.Path); axSequenceFileViewMgr.SequenceFile = e.file; }
It looks like you did not connect the SequenceView to the SequenceFileViewMgr (see the added code above). I also recommend that you configure all of the manager controls before starting the ApplicationMgr (see the moved code above).
-Jeff