public ViewModeStepCommandModel(string view)
            {
                IsVisibleOnMenu    = true;
                IsVisibleOnToolbar = true;
                Header             = view;
                Stream imgStream = Application.GetResourceStream(
                    new Uri(String.Format(ViewModeViewModel.iconPathMask, view.ToLower()))).Stream;

                if (imgStream != null)
                {
                    HeaderIconExtractor =
                        ModelIconExtractor <ICommandModel> .FromStream(imgStream);
                }
            }
        public static IModelIconExtractor <T> ForSymbol(char symbol)
        {
            string symbolCode   = String.Format("{0:x2}", (UInt32)symbol).ToUpper();
            string resourcePath = String.Format("/Themes/Resources/SegoeUISymbols/{0}.png", symbolCode);

            var retVal = ModelIconExtractor <T> .FromFuncCachable("SegoeUI-" + symbol,
                                                                  () =>
            {
                byte[] resource = ResourceUtils.GetResourceAsByteArray(dummy, resourcePath);
                if (resource.Length != 0)
                {
                    return(resource);
                }
                else
                {
                    return(BitmapUtils.DrawTextToBitmapStream("Segoe UI Symbol", 24, symbol + "").ToByteArray());
                }
            });

            return(retVal);
        }
 public static IModelIconExtractor <T> FromEmbeddedResource(object sender, string path2Resource)
 {
     return(ModelIconExtractor <T> .FromTaskFunc(
                () => Task.FromResult(
                    ResourceUtils.GetEmbeddedResourceAsByteArray(sender, path2Resource))));
 }