Реализуйте дочернее окно в WPF

Ну, это было немного неловко, но я очень плохо знаком с wpf. и я хочу реализовать дочернее окно внутри родительского окна, которое можно перемещать и перетаскивать внутри всего окна. до сих пор я видел много блогов, но все они очень сложные и сложные, и в них не так просто развернуть мои коды. здесь я попытался реализовать простым способом,

XAML:

<Window x:Class="Project_Explorer.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:wpfx="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit/extended"
        Title="Project Explorer">
 <Grid>
    <wpfx:ChildWindow Name="PopupChildWindow" Caption="Child Window" Height="200" IsModal="True" Margin="105,0,0,47" Width="306" HorizontalAlignment="Left" VerticalAlignment="Bottom" / >           
 </Grid>
</window>

пожалуйста, не отсылайте меня на любой пост или веб-сайт. просто дайте небольшой демонстрационный файл xaml и xaml.cs, который реализует дочернее окно.

1 ответ

Решение

Попробуйте FloatingWindow/FloatingWindowHost - вы можете найти оригинальную версию на CodeProject.com, или вы можете взять мою обновленную версию, которая также добавляет FloatingWindowHostZUI (с масштабированием и другими дополнительными вещами) и где я в основном объединил версии кода WPF и Silverlight (оригинальная версия имела отдельные реализации).

Смотрите мою версию этой библиотеки на http://clipflair.codeplex.com/ (получите Source и извлеките папку Client/ZUI в источнике, есть отдельные решения, доступные в папках FloatingWindow и FloatingWindowZUI там [2nd использует проекты из 1st один])

Обратите внимание, что они не расширяют класс Window, но вы можете сделать свой код UserControl и разместить его в FloatingWindow, или создать подкласс FloatingWindow, чтобы ваш код находился там напрямую.

Вы можете попробовать FloatingWindow на http://clipflair.net/, перейти по ссылке на Studio и затем открыть упражнение Tutorial. Играйте с ползунком Zoom из панели инструментов FloatingWindowHost. Можно также перевернуть окна с помощью кнопки гаечного ключа на их заголовке и установить их свойства сзади, например, их индивидуальный масштаб (масштаб).

Другие вопросы по тегам