| Казахстан, Талгар |
Новые возможности Silverlight 4
COM взаимодействие
В приложении нужно сделать взаимодействие с переферийным устройством, которое предоставляет только COM-интерфейс? Или нужно работать с приложениями Office? Используя ComAutomationFactory API в приложении Silverlight 4, можно создавать и взаимодействовать с COM-объектами.
Пример кода (взаимодействие с Excel):
// создание экземпляра Excel
dynamic excel = ComAutomationFactory.CreateObject("Excel.Application");
excel.Visible = true; // включение его видимости для пользователя
// добавление книги
dynamic workbook = excel.workbooks;
workbook.Add();
dynamic sheet = excel.ActiveSheet; // получение активного листаТребуются расширенные права (доверенное приложение).
API всплывающих уведомлений (Notification API)
В Silverlight 4 появилась возможность показа всплывающих уведомлений рядом с треем.
Используя NotificationWindow в Silverlight, вы получите простой или настраиваемый механизм уведомлений для вашего приложения.
Пример кода:
private void CustomNotificationButton_Click(object sender, RoutedEventArgs e)
{
// создание окна уведомления
NotificationWindow notify = new NotificationWindow();
notify.Height = 74;
notify.Width = 329;
// создание содержимого этого окна
CustomNotification custom = new CustomNotification();
custom.Header = "Sample Header";
custom.Text = "Hey this is a better looking notification!";
custom.Width = notify.Width;
custom.Height = notify.Height;
// установка этого содержимого
notify.Content = custom;
// показ уведомления
notify.Show(4000);
}Уведомления могут быть использованы только в приложениях вне браузера.
Аутентификация в веб-запросах
В Silverlight 4 есть возможность передавать NetworkCredential информацию, используя стек ClientHttp, который был представлен в Silverlight 3.Чтобы передать логин/пароль сервису, используется следующий код:
//
NetworkCredential passing is available in ClientHttp networking stack
WebRequest.RegisterPrefix
("http://", System.Net.Browser.WebRequestCreator.ClientHttp);
WebClient myService = new WebClient();
myService.Credentials = new NetworkCredential
("someusername", "somepassword");
myService.UseDefaultCredentials = false;
// Иначе будут использованы значения по-умолчанию
myService.DownloadStringCompleted +=
new DownloadStringCompletedEventHandler(OnResultCompleted);
myService.DownloadStringAsync
(new Uri(http://somewebsite.com/authenticatedservice));Изменения в кросс-доменной работе
Если Silverlight 4 приложение работает в режиме повышенных привелегий (доверенное приложение), то для работы с веб-сервисами из другого домена вам больше не требуется использовать файлы "clientaccesspolicy.xml" или "crossdomain.xml".
Полный доступ к клавиатуре в режим full-screen
Если ваше приложение Silverlight работает в полном экране ( IsFullScreen="true" ), вам был доступен лишь ограниченный ввод с клавиатуры. В доверенных приложениях на Silverlight 4 в режиме полного экрана полностью поддерживается ввод с клавиатуры для элементов типа TextBox и др. Требуются расширенные права (доверенное приложение).
Обрезание текста
Элемент TextBlock имеет новое свойство, называемое TextTrimming, которому может быть установлено в значение WordElipse. Когда это сделано, любой текст, непомещающийся в ширину элемента, будет обрезан, а вместо его непоказанной части будет многоточие.
Пример кода:
<TextBlock HorizontalAlignment="
Left" VerticalAlignment="Top"
Text="The quick brown fox jumped over the tall white fence"
TextTrimming="WordEllipsis" Width="120" />Дополнительные возможности
Новые возможности SIlverlight 4. http://msdn.microsoft.com/ru-ru/library/dd772166(v=vs.95).aspx