if (string.IsNullOrEmpty(xaml))
throw new XamlParseException(string.Format("Can't get xaml from type {0}", callingType), new XmlLineInfo());
Load(view, xaml);
+ NUIApplication.CurrentLoadedXaml = callingType.FullName;
}
catch (XamlParseException e)
{
/// The instance of ResourceManager.
/// </summary>
private static System.Resources.ResourceManager resourceManager = null;
+ private static string currentLoadedXaml = null;
+
+ /// <summary>
+ /// Xaml loaded delegate.
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public delegate void XamlLoadedHandler(XamlLoadedEventArgs args);
static NUIApplication()
{
public event EventHandler Paused;
/// <summary>
+ /// Xaml loaded event.
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static event XamlLoadedHandler XamlLoaded;
+
+ /// <summary>
/// Enumeration for deciding whether a NUI application window is opaque or transparent.
/// </summary>
/// <since_tizen> 3 </since_tizen>
};
/// <summary>
+ /// Current loaded xaml's full name.
+ /// </summary>
+ public static string CurrentLoadedXaml
+ {
+ get
+ {
+ return currentLoadedXaml;
+ }
+ set
+ {
+ if (currentLoadedXaml != value)
+ {
+ currentLoadedXaml = value;
+ XamlLoaded?.Invoke(new XamlLoadedEventArgs(){XamlName = value});
+ }
+ }
+ }
+
+ /// <summary>
/// ResourceManager to handle multilingual.
/// </summary>
/// <since_tizen> 4 </since_tizen>
internal const string GlesCSharpBinder = NDalicPINVOKE.Lib;
internal const string VulkanCSharpBinder = "libdali-csharp-binder-vk.so";
}
+
+ /// <summary>
+ /// Xaml loaded event args.
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public class XamlLoadedEventArgs : EventArgs
+ {
+ public string XamlName {get; set;}
+ }
}
reader.Dispose();
LoadEXaml.Load(view, xaml, out eXamlData);
+ var filePath = likelyResourcePath.Replace("\\", "/");
+ if (filePath.Contains("/"))
+ {
+ var xamlName = filePath.Substring(filePath.LastIndexOf("/") + 1, filePath.LastIndexOf(".") - filePath.LastIndexOf("/") - 1);
+ NUIApplication.CurrentLoadedXaml = xamlName;
+ }
}
else
{