SCSF: عرض عرض من طريقة عرض أخرى مقابل زر انقر فوق الزر

StackOverflow https://stackoverflow.com/questions/1366057

  •  21-09-2019
  •  | 
  •  

سؤال

أواجه مشكلة واحدة في SCSF.

لدي مساحتان عملان

  1. Mdiworkspace
  2. deckworkspace

لدي رأيان في وحدة نمطية

  1. عارض (عرض في MdiWorkspace)
  2. عارض العقار (في DeckWorkspace)

في العارض ، لدي زر في شريط الأدوات الذي يهدف إلى عرض PropertyViewer (عرض آخر).

كيف يمكنني عرض هذا PropertyViewer في زر DeckWorkspace Agaist ، انقر فوق الحدث.

ملاحظة: أنا لا أستخدم command [commandName] .addinvoker (التحكم ، "انقر :) و commandhandler

هل كانت مفيدة؟

المحلول

سأفترض أن شريط الأدوات الخاص بك يجلس في Smartpart الذي ينفذ نمط MVP. اطلب من الزر معالج الأحداث في The Smartpart Fire حدثًا سيتعامل معه مقدمه. سيبدو رمز مقدم العرض الخاص بك هكذا:

// Presenter code

protected override void OnViewSet()
{
   this.View.ToolbarButtonClick += View_ToolbarButtonClick;
}

public void View_ToolbarButtonClick(object sender, EventArgs e)
{
    // remove the handler so the property viewer 
    // will only be added the first time
    this.View.OnToolbarButtonClick -= View_ToolbarButtonClick;

    var propertyView = new PropertyViewer();
    this.WorkItem.Workspaces[WorkspaceNames.MyDeckWorkspace].Show(propertyView);
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top