#c# #wpf #events #docking #avalondock
#c# #wpf ( ВП ) #Мероприятия #стыковка #avalondock #wpf
Вопрос:
Я использую AvalonDock в проекте WPF. И я хотел бы рассказать, как обрабатывать событие стыковки и расстыковки. я пробовал наводить курсор мыши вниз и вверх при перетаскивании, но без видимого успеха.
…
<ad:DockingManager x:Name="dockManager" Grid.Row="2" Margin="0,25,0,0" Background="Transparent" >
<ad:ResizingPanel Orientation="Vertical" >
<ad:ResizingPanel Orientation="Horizontal" >
<ad:DocumentPane Background="Transparent">
<ad:DocumentContent Title="Document View!">
<Grid Background="Transparent">
<Rectangle Name="rect_Zoom" Grid.Row="2" MouseLeftButtonDown="rect_Zoom_MouseDown" MouseMove="rect_Zoom_MouseMove" MouseWheel="rect_Zoom_MouseWheel" MouseUp="rect_Zoom_MouseUp" />
…
Комментарии:
1. Вы могли бы попробовать
DockableContent.StateChanged
событие и проверить, изменяется ли состояние на / изDockableContentState.Docked
.2. Я не использую DockableContent, а только DocumentPane
3. Пожалуйста, отредактируйте свой вопрос, чтобы прояснить это. Я не вижу большой реализации для этого класса, и ничего, связанного с состоянием или стыковкой, или специализированными событиями стыковки, так что вы можете застрять в реализации этого самостоятельно, если не поменяете типы элементов управления. Кстати, я просто смотрю на исходный код по адресу: avalondock.codeplex.com/SourceControl/list/changesets
4. Я добавил в свой проект способ реализации DocumentPane с помощью avalondock. я могу отстыковаться и пристыковаться по своему желанию, но я хотел бы перехватить событие отстыковки, чтобы настроить цвет фона, поскольку процесс отстыковки сбрасывает цвет фона. еще раз спасибо, Мерилин
5. основная проблема в том, что после отстыковки я больше не могу перехватить событие мыши в отстыкованных окнах