2012-07-03 1 views
0

У меня есть простой Lightswitch Ap, который я создаю для использования в своем бизнесе и в качестве теста Lightswitch. Ap использует отдельную таблицу со многими полями, поэтому я использую экран списка-Detail с основной информацией, отображаемой на выбранном элементе, а также тремя кнопками, открывающими специальные экраны подробностей. Проблема, с которой я сталкиваюсь, заключается в том, что каждый подробный экран открывается на вкладке с идентичным заголовком первого поля в таблице - Имя таблицы (т. Е. «HP - Оборудование»). все, что я могу найти состояния, вы должны переопределить DisplayName в методе InitializeDataWorkspace() для этого экрана, но я просто вижу, что мой заголовок кратковременно мерцает, поскольку экран создается только для того, чтобы быть перезаписанным по умолчанию.Как изменить заголовок вкладки по умолчанию для экрана Visual Studio 2011 RC Lightswitch?

Не много кода, чтобы показать ...

partial void FinancialDetail_InitializeDataWorkspace(List<IDataService> saveChangesTo) 
{ 
    // Write your code here. 
    this.DisplayName = "Financial Detail"; 
} 
+0

OK Я только что обнаружил, что если я использую часть данных сущности на этикетке, то это работает. т. е. this.DisplayName = "Финансовая информация" + this.equipment.model; –

+0

Это лишь частичный ответ, поскольку ярлык, который я хотел, был фиксированным текстом без каких-либо элементов. –

+0

это фанки. вы уверены, что это «данные сущности», а не только уникальное отображаемое имя. я бы использовал dotPeek для поиска всех ссылок 'this.DisplayName'. –

ответ

1

я, наконец, найти правильный ответ. Это изменилось в VS11, поэтому поиск всегда получал неправильный ответ.

Каждый экран теперь имеет методы по умолчанию, если вы просматриваете экранный код. Код по умолчанию отображается как комментарии. Вам нужно указать имя во всех трех местах.

 partial void Equipment_Loaded(bool succeeded) 
    { 
     //this.SetDisplayNameFromEntity(this.Equipment); 
     this.DisplayName = this.Equipment.UnitID + " - Financials"; 
    } 

    partial void Equipment_Changed() 
    { 
     //this.SetDisplayNameFromEntity(this.Equipment); 
     this.DisplayName = this.Equipment.UnitID + " - Financials"; 
    } 

    partial void FinancialDetail_Saved() 
    { 
     //this.SetDisplayNameFromEntity(this.Equipment); 
     this.DisplayName = this.Equipment.UnitID + " - Financials"; 
    }