Доступ к классу WebContext в XAML - PullRequest
2 голосов
/ 22 января 2010

Сгенерированный файл App.xaml.cs содержит это

private void Application_Startup(object sender, StartupEventArgs e)
{
  // This will enable you to bind controls in XAML files to WebContext.Current
  // properties
  this.Resources.Add("WebContext", WebContext.Current);

но я не могу понять, как ссылаться на этот объект. Похоже, я должен установить страницу DataContext = "WebContext", а затем использовать его следующим образом

... property="{Binding Path=User.IsAuthenticated}

Я уверен, что это просто. Может кто-нибудь подсказать мне?


Молодцы, и, конечно, я не могу поверить, что не видел этого. С добавлением преобразователя значений внезапно запутанный беспорядок в коде управления состоянием становится декларативным, показывая и скрывая различные элементы пользовательского интерфейса в зависимости от того, вошел ли пользователь в систему или в различных ролях, без необходимости засорять мой код тривиальными условными выражениями во множестве логических переливов точек.

1 Ответ

4 голосов
/ 22 января 2010

Попробуйте: -

property="{Binding Path=User.IsAuthenticated, Source={StaticResource WebContext}}"

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

...