نسل بعدی واسط کاربری مایکروسافت WPF که WPF سر آغاز سه کلمه Windows Presentation Foundation می باشد که متاسفانه بصورت محدود در نسخه 10 انجین پشتیبانی شده است

همانطور که میدانید برنامه های WPF ظاهر گرافیکی بسیار زیبایی دارند و از همه مهتر اینکه میتوانید اینترفیس کاربر را با ویرایشگر قوی مانند Blend طراحی کنید

برنامه نویسان آرک آبجکت نمی توانند بطور کامل از WPF استفاده کنند و یا ان را جایگزین Winapp سازند مهمترین محدودیت های WPF درArc GIS Engine بشرح زیر است

  1. در پنجره WPF نمیتوانید از License Control استفاده کنید و باید لایسنس دهی برنامه را با کدنویسی در Code Behind انجام دهید مطابق سورس کد زیر

protected override void OnStartup(StartupEventArgs e)

{

base.OnStartup(e)

ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine);

InitializeEngineLicense();

}

private void InitializeEngineLicense()

{

// تعریف آبجکت

AoInitialize aoi = new AoInitializeClass();

//Additional license choices can be included here.

// تعریف لایسنیس انجین

esriLicenseProductCode productCode =

esriLicenseProductCode.esriLicenseProductCodeEngine;

if (aoi.IsProductCodeAvailable(productCode) ==

esriLicenseStatus.esriLicenseAvailable)

{

aoi.Initialize(productCode);

}

{

۲- مشخصات و رخدادهای کنترلر های انجین بوسیله XAML قابل دستیابی نیست و باید آنها را درCode Behind تعریف کنید

// معرفی متد برای ایجاد یک

//Map Control

private void CreateMapControl()

{

mapControl = new AxMapControl();

mapHost.Child = mapControl;

}

3- المنت های XAML و کلاس های انجین بصورت کاملا مجزا رندر میشوند بنابراین وقتی روی فرم تغییرات کلی اعمال میکنید این تغیییرات در کنترل های بصری انجین نمود واقعی نخواهند داشت

4- مشکل دیگر در نحوه چیدمان اجزا ٌWinapp و WPF است که اغلب روی همدیگر می افتند Overlapping