10/28/2008

Microsoft в ажуре

В ажуре (перен.) в полном порядке ...

27 октября Рэй Оззи, главный программный архитектор Microsoft, представил платформу Windows Azure (azure - по-английски означает "лазурь") - операционная система нового типа.

Windows Azure позволит переместить обычные настольные приложения в интернет, реализовать концепуию - "ПО как услуга"..

Windows Azure позволит IT-отделам компаний сократить расходы на инфраструктуру, переложив обычные задачи на свои датацентры (тысячи серверов Microsoft, которые предоставляют дисковое пространство и вычислительные мощности; нагрузка на cерверах распределяется автоматически, число серверов легко увеличить, а данные на них хранятся сразу в трех экземплярах, чтобы избежать потерь; вся информация пользователей будет синхронизироваться между их сайтами и устройствами).

Вместе с Windows Azure будут предлагаться онлайновые сервисы: Windows Live, Exchange Online, SharePoint Online, Microsoft Dynamics CRM Online, Office Communications Online и Office Live Meeting.

Использование UserControl'ов в Silverlight 2.0

Например, в Silverlight Application определен юзер-контрол SilverlightControl1 в следующих файлах:

[SilverlightControl1.xaml]

<UserControl
x:Class="SilverlightApplication8.SilverlightControl1"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <Grid
x:Name="LayoutRoot"
Background="Red">

        <TextBlock
Text="Hello" />

    </Grid>

</UserControl>


[SilverlightControl1.xaml.cs]

using System.Windows.Controls;

 
 

namespace SilverlightApplication8

{

    public
partial
class
SilverlightControl1 : UserControl

    {

        public SilverlightControl1()

        {

            InitializeComponent();

        }

    }

}


Для использования SilverlightControl1 в Page.xaml надо добавить атрибут ...
Пример Page.xaml c добавленным SilverlightControl1:

<UserControl
x:Class="SilverlightApplication8.Page"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    Width="400"
Height="300"
xmlns:MyControl="clr-namespace:SilverlightApplication8">

    <Grid
x:Name="LayoutRoot"
Background="White">

        <MyControl:SilverlightControl1
x:Name="sc1"
Width="100"
Height="100" />

    </Grid>

</UserControl>


Примечание: Visual Studio 2008 все юзер-контролы подчеркивает волнистой линией и в Error List выводится предупреждение. Например, для MyControl:SilverlightControl1 в Error List выводится следующий текст:

Warning 1 The element 'Grid' in namespace 'http://schemas.microsoft.com/winfx/2006/xaml/presentation' has invalid child element 'SilverlightControl1' in namespace 'clr-namespace:SilverlightApplication8'. List of possible elements expected: 'Grid.ShowGridLines, Grid.ColumnDefinitions, Grid.RowDefinitions, Grid.Background, Grid.IsItemsHost, Grid.Style, Grid.OverridesDefaultStyle, Grid.Triggers, Grid.Resources, Grid.DataContext, Grid.Language, Grid.Tag, Grid.InputScope, Grid.LayoutTransform, Grid.Width, Grid.MinWidth, Grid.MaxWidth, Grid.Height, Grid.MinHeight, Grid.MaxHeight, Grid.Margin, Grid.FocusVisualStyle, Grid.Cursor, Grid.ForceCursor, Grid.ToolTip, Grid.ContextMenu, Grid.InputBindings, Grid.CommandBindings, Grid.AllowDrop, Grid.RenderSize, Grid.RenderTransform, Grid.RenderTransformOrigin, Grid.Opacity, Grid.OpacityMask, Grid.BitmapEffect, Grid.BitmapEffectInput, Grid.ClipToBounds, Grid.Clip, Grid.SnapsToDevicePixels, Grid.IsEnabled, Grid.IsHitTestVisible, Grid.Focusable, sgUIElement, sgFrameworkElement, sgShape, Ellipse, Line, Path, Polygon, Polyline, Rectangle, sgPanel, Canvas, DockPanel, Grid, TabPanel, ToolBarOverflowPanel, sgStackPanel, ToolBarPanel, UniformGrid, sgVirtualizingPanel, VirtualizingStackPanel, WrapPanel, sgControl, sgC....


Как избавиться от предупреждения?

8/30/2008

Получить имя файла при drag'n'drop над WebBrowser'ом

Задача: над WebBrowser'ом сбрасывается файл; надо получить имя файла.
Решение: подписаться на событие Navigating ...

public partial class Form1 : Form
{
public Form1()
{
WebBrowser wb = new WebBrowser();
wb.AllowWebBrowserDrop = true;
wb.Dock = DockStyle.Fill;
wb.Parent = this;
wb.Navigating += (s, e) =>
{
if (e.Url.Scheme == "file")
{
e.Cancel = true;
MessageBox.Show(e.Url.OriginalString); // путь к файлу
}
};
}
}

Примечание: если выполнить drag'n'drop для линка Recycle Bin, то в WebBrowser отобразится содержимое Recycle Bin.

8/28/2008

Lutz Roeder продал .NET Reflector

После 8 лет работы Lutz Roeder продал свой знаменитый и очень полезный Reflector for .NET компании Red Gate.

.NET Reflector™ останется бесплатным!

We will continue to maintain a free version for the benefit of the community. [...] Over the next few months we will be exploring ways we can make Reflector even more useful to .NET Developers. We always welcome feedback from the community so, if you have any ideas, please post them on the Reflector forum.
...

Вышел IE beta 2

Вышел Internet Explorer 8 Beta 2. Новшества: InPrivate - приватный режим работы (IE не ведет журнал посещений; не сохраняет временные файлы; позволяет свести к минимуму ту информацию, которую могут собрать владельцы сайтов о посетителе).
Обновления: Activities (позволяет найти информацию, связанную с данными на веб-странице или переслать содержимое страницы в другое приложение); WebSlices (позволяет отслеживать изменения определенного фрагмента страницы).

Для установки IE8 beta 2 требуется снести beta 1; для этого в "Control Panel (Control Panel Home) - Programs - View installed updates" надо выбрать Windows Internet Explorer 8.

Windows Internet Explorer 8 Beta 2 for Windows Vista and Windows Server 2008.