Add NOV Button control in WPF at runtime
To get started and host NOV in your WPF application, take a look at:
Getting Started with NOV in WPF using only code
The following code shows how to add a NOV Button Widget (control) in WPF at runtime and raise the button click event, showing a message
in NOV Message Box:
using
Nevron.Nov;
using
Nevron.Nov.Dom;
using
Nevron.Nov.Layout;
using
Nevron.Nov.UI;
using
Nevron.Nov.Windows;
using
System.Windows;
namespace
WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public
partial
class
MainWindow : Window
{
public
MainWindow()
{
InitializeComponent();
// Add a NOV widget inside the form
// create the host
NStackPanel stack =
new
NStackPanel();
stack.Margins =
new
Nevron.Nov.Graphics.NMargins(5);
stack.HorizontalPlacement = ENHorizontalPlacement.Left;
stack.VerticalPlacement = ENVerticalPlacement.Top;
stack.HorizontalSpacing = 5;
stack.VerticalSpacing = 5;
// add text only push button
NButton textOnlyButton =
new
NButton(
"Text only button"
);
textOnlyButton.Click +=
new
Function<NEventArgs>(OnButtonClicked);
stack.Add(textOnlyButton);
Content =
new
NNovWidgetHost<NStackPanel>(stack);
}
private
void
OnButtonClicked(NEventArgs arg1)
{
NMessageBox.Show(
"textOnlyButton.Click was raised."
,
"NOV Message Box"
);
}
}
}
Run the application - it should display a simple window with a "Text only button" button inside. When you click the button, the click event will be raised and will display a message inside a NOV Message Box.
Using Visual Basic .NET (VB.NET)
When you create a Visual Basic WPF Application, reference the NOV Assemblies and use the following code in your MainWindow.xaml.vb:
Imports
Nevron.Nov
Imports
Nevron.Nov.Dom
Imports
Nevron.Nov.Layout
Imports
Nevron.Nov.UI
Imports
Nevron.Nov.Windows
Partial
Public
Class
MainWindow
Inherits
Window
Public
Sub
New
()
InitializeComponent()
' clear all controls from the form
' TODO: Apply license for redistribution here. You can skip this code when evaluating NOV.
NLicenseManager.Instance.SetLicense(
New
NLicense(
"LICENSE KEY"
))
' Install Nevron Open Vision modules
Dim
modules()
As
NModule = {}
NNovApplicationInstaller.Install(modules)
' create a stack panel
Dim
stack
As
New
NStackPanel()
stack.Margins =
New
Nevron.Nov.Graphics.NMargins(5)
stack.HorizontalPlacement = ENHorizontalPlacement.Left
stack.VerticalPlacement = ENVerticalPlacement.Top
stack.HorizontalSpacing = 5
stack.VerticalSpacing = 5
' add text only push button
Dim
textOnlyButton
As
New
NButton(
"Text only button"
)
AddHandler
textOnlyButton.Click,
AddressOf
textOnlyButton_Click
stack.Add(textOnlyButton)
' create the host widget
Content =
New
NNovWidgetHost(Of NStackPanel)(stack)
End
Sub
Protected
Sub
textOnlyButton_Click(
ByVal
e
As
NEventArgs)
NMessageBox.Show(
"textOnlyButton.Click was raised."
,
"NOV Message Box"
)
End
Sub
End
Class
The NOV Message Box dialogue can replace the standard WPF Message Box (System.Windows.MessageBox) and it provides greater customization options.
For more information about the NOV Button and Message Box UI controls, take a look at the Help Documentation:
User Interface > Widgets > Buttons > Buttons Overview
User Interface > Dialogs > Message Box
Article ID: 245, Created On: 8/11/2016, Modified: 9/27/2016