How Tos
Last reviewed: 1/14/2012
Article ID: H071117
HOW: Developing Silverlight applications that manage lexicons
The information in this article applies to:
- LexiconKit 4
Summary
You can develop Silverlight applications that manage lexicons using your favorite Silverlight development tools such as Microsoft Visual C# .NET and Microsoft Visual Basic .NET.
More Information
To access the LexiconKit Silverlight classes within your application, add them to your project References:
- Within your Silverlight project, right click on the References folder in C# or Open MyProject in VB and select the References tab.
-
For Silverlight V4 applications, add references to the LexiconKit Silverlight assemblies:
- Program Files\Chant\LexiconKit 4\Win32\Silverlight\libv4\Chant.LexiconKit.Silverlight.dll and
- Program Files\Chant\LexiconKit 4\Win32\Silverlight\libv4\Chant.Shared.Silverlight.dll.
-
For Silverlight V5 applications, add references to the LexiconKit Silverlight assemblies:
- Program Files\Chant\LexiconKit 4\Win32\Silverlight\libv5\Chant.LexiconKit.Silverlight.dll and
- Program Files\Chant\LexiconKit 4\Win32\Silverlight\libv5\Chant.Shared.Silverlight.dll.
To access the LexiconKit Silverlight classes within your application, add references to the LexiconKit assemblies in your code:
using System; ... using Chant.LexiconKit.Silverlight; using Chant.Shared.Silverlight;
Out-of-Browser Settings
To run your Silverlight app out-of-browser, set the properties as follows:
- Within your Silverlight project, select the Silverlight tab under project properties.
- Select the checkbox: Enable application running out of the browser.
- Deselect the checkbox: Require elevated trust when running in-browser.
- Press the Out-of-Browser Settings... button.
- Select the checkbox: Required elevated trust when running outside the browser.
In-Browser Settings
To run your Silverlight app in-browser, set the properties as follows:
- Within your Silverlight project, select the Silverlight tab under project properties.
- Select the checkbox: Require elevated trust when running in-browser.
- Deselect the checkbox: Enable application running out of the browser.
- Select the Signing tab under project properties.
- Select the checkbox: Sign the Xap File.
-
Press one of the three buttons to select a signing certificate:
- Select from Store... if you have installed a signing certificate on your system;
- Select from File... if you have a signing certificate file your system; or
- Create test certificate... if you do not have signing certificate on your system.
-
Press the More Details... button to ensure you have installed Trusted Root and Publisher certificiates:
- Press the Install Certificate... button;
- Select Automatically ... option if you have Certificate installed in your store or Select Place ... option if you created a temp certificate for testing and press the Browse button;
- Select Trusted Root Certification Authorities and press the OK button; and
- Press the Next button.
- Repeat the process by Pressing the Install Certificate... button;
- Select Place ... option and press the Browse button;
- Select Trusted Publishers and press the OK button; and
- Press the Next button.
-
Run regedit to add a Silverlight registery property AllowElevatedTrustAppsInBrowser with value of 1:
- Select the Start menu and enter regedit to launch the Registry Editor;
- For Win32 systems, navigate to HKEY_LOCAL_MACHINE\Software\Microsoft\Silverlight\;
- For Win64 systems, navigate to HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Silverlight\;
- Right click and select New->DWORD (32-bit) Value;
- Set the value name to AllowElevatedTrustAppsInBrowser;
- Set th value data to 1;
- Press the OK button; and
- Close the Registry Editor.
Object Instantiation
Declare a global variable for the ChantLM class, instantiate an instance, add the event handler, and set the license and serial properties.
private Chant.LexiconKit.Silverlight.NChantLM NChantLM1; public MainPage() { InitializeComponent(); // Instantiate NChantLM object NChantLM1 = new NChantLM(this); // Setup event callback handler NChantLM1.HasEvent += new Chant.LexiconKit.Silverlight.NChantLM.HasEventHandler(this.NChantLM1_HasEvent); // Set license properties NChantLM1.SetStringProperty(ChantStringProperty.CSPLicense, "LicenseRegistrationNumber"); NChantLM1.SetStringProperty(ChantStringProperty.CSPSerials, "LicenseSerialNumber"); }
Event Callbacks
Event callbacks are the mechanism in which the component library sends information back to the application such as phoneme selection, import/export processing state, or there was an error.
private void NChantLM1_HasEvent(object sender, HasEventArgs e) { // Get the number of events int numberOfEvents = NChantLM1.GetResourceCount(ChantSpeechResource.CSREvent, 0, 0); for (int i = 0; i < numberOfEvents; i++) { // Get the event from the event queue NChantLMEvent nChantLMEvent = NChantLM1.GetChantLMEvent(0); switch (nChantLMEvent.ChantCallback) { case ChantCallback.CCTTSPhoneme: { ... break; } default: break; } // Remove the event from the event queue NChantLM1.RemoveResource(ChantSpeechResource.CSREvent, 0, 0, ""); } }
Deployment Checklist
When you are ready to deploy your application, you need to ensure you have a valid license, bundle the correct Chant component libraries, and configure your installation properly on the target system. Review the following checklist before deploying your applications:
- You may deploy your Silverlight application to any system with a valid license from the Chant.
- Copy Chant.LexiconKit.Silverlight.dll and Chant.Shared.Silverlight.dll libraries to the target system or merge them with your application using an obfuscator like .NET Reactor by Eziriz.
- Copy NLexiconKit.dll to the target system.
- Register NLexiconKit.dll as a COM library on the target system.
Sample Projects
Silverlight sample projects are installed at the following location:
- My Documents\Chant LexiconKit 4\Win32\Silveright\VS 2010\CSharp and
- My Documents\Chant LexiconKit 4\Win32\Silveright\VS 2010\Visual Basic.