/// <summary>
        /// Use the custom Oven and Bread Windows Runtime components.
        /// </summary>
        /// <param name="sender">Contains information about the button that fired the event.</param>
        /// <param name="e">Contains state information and event data associated with a routed event.</param>
        private void OvenClientRun(object sender, RoutedEventArgs e)
        {
            Dimensions dimensions;

            dimensions.Width  = 2;
            dimensions.Height = 2;
            dimensions.Depth  = 2;

            // Component Creation
            Oven myOven = new Oven(dimensions);

            // Getters and setters are accessed using property syntax
            OvenClientOutput.Text += "Oven volume is: " + myOven.Volume.ToString() + "\n";

            // Register even listeners
            myOven.BreadBaked += new TypedEventHandler <Oven, Bread>(BreadCompletedHandler1);
            myOven.BreadBaked += new TypedEventHandler <Oven, Bread>(BreadCompletedHandler2);
            myOven.BreadBaked += new TypedEventHandler <Oven, Bread>(BreadCompletedHandler3);

            // Unregister from an event using the -= syntax and a delegate instance
            myOven.BreadBaked -= new TypedEventHandler <Oven, Bread>(BreadCompletedHandler3);

            // Bake a loaf of bread. This will trigger the BreadBaked event.
            myOven.BakeBread("Sourdough");

            // Trigger the event again with a different preheat time
            myOven.ConfigurePreheatTemperature(OvenTemperature.High);
            myOven.BakeBread("Wheat");
        }
        /// <summary>
        /// Handle a Windows Runtime error originated by the Oven Windows Runtime component.
        /// </summary>
        /// <param name="sender">Contains information about the button that fired the event.</param>
        /// <param name="e">Contains state information and event data associated with a routed event.</param>
        private void CustomExceptionRun(object sender, RoutedEventArgs e)
        {
            Oven myOven = new Oven();

            try
            {
                // Intentionally pass a bad parameter
                myOven.ConfigurePreheatTemperature((OvenTemperature)5);
            }
            catch (System.ArgumentException)
            {
                CustomExceptionOutput.Text += "Exception caught. Please attach a debugger and enable first chance native exceptions to view exception details.";
            }
        }