public SmartAppControl(SmartApp mApp,RoutedEventHandler mClick1,RoutedEventHandler mClick2)
 {
     //默认的控件初始化函数
     InitializeComponent();
     //通过SmartApp实现数据绑定
     mAppButton.Click += mClick1;
     mAppDelete.Click += mClick2;
     //获取应用程序图标
     if (!File.Exists(mApp.AppPath))
     {
          mSource = new BitmapImage(new Uri("Resources\\Icon\\Icon_Error.png", UriKind.Relative));
     }
     else
     {
         Icon mIcon = System.Drawing.Icon.ExtractAssociatedIcon(mApp.AppPath);
         mSource = Imaging.CreateBitmapSourceFromHBitmap(
             mIcon.ToBitmap().GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
     }
     //绑定应用程序图标
     mAppImage.Source = mSource;
     //绑定应用程序名称
     mAppLabel.Content = mApp.AppName;
     //绑定ToolTip
     mToolTip1.Content = mApp.AppName;
     mToolTip2.Content = mApp.AppName;
 }
Example #2
0
 private void CreatNewApp(string mFile)
 {
     //获取当前Tab索引
     int mType = Tab.SelectedIndex;
     //获取当前应用程序列表
     mAppList = getAppList(mType);
     //获得XmlDB数据库
     XmlDB mDB = XmlDBFactory.LoadXmlDB(mFileName);
     SmartApp mApp = new SmartApp(mFile, mNames[mType].ToString());
     mDB.Insert(mApp);
     mDB.Commit();
     //构建界面
     SmartAppControl mControl = mApp.BuilderUI(new RoutedEventHandler(App_Click), new RoutedEventHandler(App_Click));
     if (mAppList.Count < 4)
     {
         mControl.SetValue(Grid.RowProperty, 0);
         mControl.SetValue(Grid.ColumnProperty, mAppList.Count);
     }
     else
     {
         mControl.SetValue(Grid.RowProperty, (mAppList.Count) / 4);
         mControl.SetValue(Grid.ColumnProperty, (mAppList.Count) % 4);
     }
     Grid mGrid = getGrid(mNames[mType]);
     //添加App到桌面
     mGrid.Children.Add(mControl);
     //修改词典
     mAppList = getAppList(mType);
     mAppList.Add(mApp);
 }