Опрос
Вы участвуете в программе Windows Insider?
Популярные новости
Обсуждаемые новости

22.07.2006 04:03 | Raiker

Продолжаем изучение темы взаимодействия технологий WPF и NET 2.0 , которую мы начали в статье № 009. Изучив этот материал, вы сможете внедрить форму, написанную на Avalon в любое приложение на базе .NET 2.0.

Откройте Visual Studio 2005 и создайте обычное .NET 2.0 приложение типа Windows Application и назовите его MyAppEx:



На главной форме разместите кнопку "О программе" (я не буду пояснять принципы работы в системе Visual Studio 2005 при создании приложений на базе .NET 2.0 - предполагается, что изучая WPF - вы обладаете этими навыками) , вот так:



Наша цель - после нажатия кнопки "О программе" в нашем обычном .NET - приложении , появится красивое окно, подготовленное при помощи средств WPF.

Выполните команду File -> Add -> New Project в главном меню окна Visual Studio 2005 и выберите тип проекта WinFX Custom Control Library :



Задайте проекту имя "MyWPFwindow".



После нажатия кнопки Ok, вы увидите, что к вашему решению (Solution) был добавлен новый проект. На данный момент новый проект MyWPFwindow содержит один файл UserControl1.xaml который содержит разметку для создания нового контрола на базе WPF. С такими файлами мы поработаем в следующей статье; сейчас у нас нет необходимости создавать контрол, поэтому удалите этот файл из проекта (щелкните правой кнопкой по этому файлу и выберите Delete).
Нам необходимо добавить новое окно к проекту MyWPFwindow - для этого щелкните правой кнопкой по названию проекта MyWpfWindow и выберите пункт Add -> New Item

В появившемся окне выберите элемент типа WinFX Window:



Задайте имя "MyAboutWnd.xaml" новому элементу и нажмите кнопку Add.
Перейдите в режим редактирования XAML-кода , для только что добавленного окна, и внесите необходимый код, определяющий его внешний вид, например, такой:

<Window x:Class="MyAboutWnd"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="О программе..." Height="100" Width="300"
    Background="LightCyan"
    >
  <Grid>
    <Label Content ="(c) 2006 - My WPF Application"
           HorizontalAlignment ="Center" VerticalAlignment ="Center" />
  </Grid>
</Window>

[/code]

Этот код очень прост. Но в этой статье я не сосредотачиваюсь на внешнем виде окна, а обращаю внимание на технологию внедрения такого окна в обычное .NET 2.0 приложение.

Перекомпилируйте проект (меню Build-> Rebuild Solution)
Теперь щелкните правой кнопкой по названию первого проекта и выберите команду AddReference. В появившемся окне перейдите на вкладку Projects и дважды щелкните по строке MyWpfWindow:



Перекомпилируйте проект (меню Build-> Rebuild Solution)
Щелкните правой кнопкой по названию первого проекта и выберите команду Properties, чтобы отредактировать свойства проекта. По аналогии с тем, как мы поступали в статье 009 перейдите на вкладку References:



При помощи кнопки Add добавьте ссылки на следующие библиотеки (на вкладке .NET):
WindowsFormsIntegration
PresentationCore
PresentationFramework

Эти библиотеки обеспечат поддержку нашего WPF окна в приложении на базе .NET
Перекомпилируйте проект (меню Build-> Rebuild Solution)

Теперь осталось самое простое. Добавьте обработчик нашей кнопки "О программе" (в нашем проекте MyAppEx) и внесите в него этот код:

[code]Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles Button1.Click

Dim myLib As New MyWPFwindow.MyAboutWnd
myLib.ShowDialog()
End Sub[/code]
Запустите проект и убедитесь, что мы добились требуемого результата:



В завершение полные листинги.

Проект 1 - MyAppEx
VB-листинг:

[code]Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles Button1.Click

Dim myLib As New MyWPFwindow.MyAboutWnd
myLib.ShowDialog()
End Sub
End Class[/code]
Проект 2 - MyWPFwindow
XAML-листинг:

[code]<Window x:Class="MyAboutWnd"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="О программе..." Height="100" Width="300"
Background="LightCyan"
>
<Grid>
<Label Content ="(c) 2006 - My WPF Application"
HorizontalAlignment ="Center" VerticalAlignment ="Center" />
</Grid>
</Window>[/code]

Espoir, TheVista.ru Team
Июль, 2006

Комментарии

Комментариев нет...
Для возможности комментировать войдите в 1 клик через

По теме

Акции MSFT
420.55 0.00
Акции торгуются с 17:30 до 00:00 по Москве
Все права принадлежат © ms insider @thevista.ru, 2022
Сайт является источником уникальной информации о семействе операционных систем Windows и других продуктах Microsoft. Перепечатка материалов возможна только с разрешения редакции.
Работает на WMS 2.34 (Страница создана за 0.03 секунд (Общее время SQL: 0.013 секунд - SQL запросов: 51 - Среднее время SQL: 0.00025 секунд))
Top.Mail.Ru