DiagramPanel
O DiagramPanel é a classe central de um Diagrama, mantendo todas as Camadas de Peças, responsável pela tradução (rolagem) e escala (zooming) e alinhamento, mantendo o controle dos limites do diagrama, e tendo vários métodos de teste de hit usados para pesquisar o diagrama para elementos específicos.
Herda de: Panel
Implementa: IScrollInfo
Construtores
public DiagramPanel()
diagramPanel = DiagramPanel()
Construir um DiagramPanelem branco.
Propriedades
public NodeLayer AdornmentLayer { get; }
value = diagramPanel.AdornmentLayer
Obtém a camada padrão usada para segurar os Adornos, que normalmente está em frente a todas as outras camadas.
public int AutoScrollDelay { get; set; }
value = diagramPanel.AutoScrollDelay
diagramPanel.AutoScrollDelay = value
Fica ou define quanto tempo esperar antes de autoscrolling.
public Thickness AutoScrollRegion { get; set; }
value = diagramPanel.AutoScrollRegion
diagramPanel.AutoScrollRegion = value
Obtém ou define a margem no painel onde um arrastar do rato fará automaticamente com que a visualização desloque.
public int AutoScrollTime { get; set; }
value = diagramPanel.AutoScrollTime
diagramPanel.AutoScrollTime = value
Obtém ou define como mudar rapidamente a posição quando o mouse está no AutoScrollRegion.
public bool CanHorizontallyScroll { get; set; }
value = diagramPanel.CanHorizontallyScroll
diagramPanel.CanHorizontallyScroll = value
Obtém ou define se o usuário pode rolar horizontalmente. (Implementos IScrollInfo.)
public bool CanVerticallyScroll { get; set; }
value = diagramPanel.CanVerticallyScroll
diagramPanel.CanVerticallyScroll = value
Obtém ou define se o usuário pode deslocar- se verticalmente. (Implementos IScrollInfo.)
public Diagram Diagram { get; internal set; }
value = diagramPanel.Diagram
diagramPanel.Diagram = value
Obtém o Diagrama em que este painel está.
public Rect DiagramBounds { get; set; }
value = diagramPanel.DiagramBounds
diagramPanel.DiagramBounds = value
Obtém ou define os limites de coordenadas do modelo do diagrama.
public double ExtentHeight { get; }
value = diagramPanel.ExtentHeight
Obter o tamanho vertical da parte perscrutável deste diagrama, em unidades de controle (dispositivo independente de pixels). (Implementos IScrollInfo.)
public double ExtentWidth { get; }
value = diagramPanel.ExtentWidth
Obter o tamanho horizontal da parte perscrutável deste diagrama, em unidades de controle (dispositivo independente de pixels). (Implementos IScrollInfo.)
public Rect FixedBounds { get; set; }
value = diagramPanel.FixedBounds
diagramPanel.FixedBounds = value
Obtém ou define um retângulo delimitador fixo a ser devolvido por ComputeDiagramBounds.
public HorizontalAlignment HorizontalContentAlignment { get; set; }
value = diagramPanel.HorizontalContentAlignment
diagramPanel.HorizontalContentAlignment = value
Obtém ou define como as peças são posicionadas no painel quando a largura DiagramBounds é menor do que a ViewportWidth.
public double HorizontalOffset { get; }
value = diagramPanel.HorizontalOffset
Obtém o deslocamento horizontal das partes do diagrama. (Implementos IScrollInfo.)
public double MaximumScale { get; set; }
value = diagramPanel.MaximumScale
diagramPanel.MaximumScale = value
Obtém ou define o maior valor que a Escala pode ter.
public double MinimumScale { get; set; }
value = diagramPanel.MinimumScale
diagramPanel.MinimumScale = value
Obtém ou define o menor valor maior que zero que a Escala pode ter.
public Thickness Padding { get; set; }
value = diagramPanel.Padding
diagramPanel.Padding = value
Obtém ou define a quantidade de espaço extra "vazio" é reservado em torno do DiagramBounds.
public Point Position { get; set; }
value = diagramPanel.Position
diagramPanel.Position = value
Obtém ou define o ponto, em coordenadas de modelo, mostrado no canto superior esquerdo deste painel.
public double Scale { get; set; }
value = diagramPanel.Scale
diagramPanel.Scale = value
Obtém ou define o fator de escala em que tudo é renderizado.
public double ScrollHorizontalLineChange { get; set; }
value = diagramPanel.ScrollHorizontalLineChange
diagramPanel.ScrollHorizontalLineChange = value
Obtém ou define o tamanho de uma "linha" ao rolar horizontalmente.
public ScrollViewer ScrollOwner { get; set; }
value = diagramPanel.ScrollOwner
diagramPanel.ScrollOwner = value
Obtém ou define o ScrollViewer que permite ao utilizador rolar este painel. (Implementos IScrollInfo.)
public double ScrollVerticalLineChange { get; set; }
value = diagramPanel.ScrollVerticalLineChange
diagramPanel.ScrollVerticalLineChange = value
Obtém ou define o tamanho de uma "linha" ao rolar verticalmente.
public StretchPolicy Stretch { get; set; }
value = diagramPanel.Stretch
diagramPanel.Stretch = value
Obtém ou define como a propriedade Escala do painel é definida, dependendo do tamanho do DiagramBounds.
public VerticalAlignment VerticalContentAlignment { get; set; }
value = diagramPanel.VerticalContentAlignment
diagramPanel.VerticalContentAlignment = value
Obtém ou define como as peças são posicionadas no painel quando a largura DiagramBounds é menor do que a ViewportWidth.
public double VerticalOffset { get; }
value = diagramPanel.VerticalOffset
Obtém o deslocamento vertical das partes do diagrama. (Implementos IScrollInfo.)
public Rect ViewportBounds { get; }
value = diagramPanel.ViewportBounds
Obtém a parte visível deste painel, em coordenadas de modelo.
public double ViewportHeight { get; }
value = diagramPanel.ViewportHeight
Obter o tamanho vertical da parte visível deste painel, em unidades de controle (dispositivo independente de pixels). (Implementos IScrollInfo.)
public double ViewportWidth { get; }
value = diagramPanel.ViewportWidth
Obter o tamanho horizontal da parte visível deste painel, em unidades de controle (dispositivo independente de pixels). (Implementos IScrollInfo.)
public Point ZoomPoint { get; set; }
value = diagramPanel.ZoomPoint
diagramPanel.ZoomPoint = value
Obtém ou define o ponto de foco aparente usado ao ampliar ou sair.
public int ZoomTime { get; set; }
value = diagramPanel.ZoomTime
diagramPanel.ZoomTime = value
Obtém ou define como rapidamente alterar as propriedades Escala e/ou Posição ao adaptar-se a DiagramBounds alterações ou alterações de tamanho do painel causando realinhamento de conteúdo, ou em chamadas para Rect) ou Ação).
Métodos
protected override Size ArrangeOverride(Size finalSize)
result = diagramPanel.ArrangeOverride(finalSize)
Organize cada uma das Camadas neste painel.
- finalSize
public void CenterPart(Part part)
diagramPanel.CenterPart(part)
Centrar os limites de uma Parte dentro desta janela.
- part
public void CenterPart(Part part, Action afterwards)
diagramPanel.CenterPart(part, afterwards)
Centrar os limites de uma Parte dentro desta janela.
- part
- afterwards
- uma ação a ser executada após a animação terminar; pode ser nula
public void CenterRect(Rect bounds, Action afterwards)
diagramPanel.CenterRect(bounds, afterwards)
Centrar uma área específica do diagrama dentro desta viewport.
- bounds
- um Rect nas coordenadas do modelo
- afterwards
- uma ação a ser executada após a animação terminar; pode ser nula
protected virtual Point ComputeAutoScrollPosition(Point viewPnt)
result = diagramPanel.ComputeAutoScrollPosition(viewPnt)
Este método é chamado para determinar a próxima posição no documento para esta visão, dado um ponto em que o usuário está arrastando o mouse.
- viewPnt
- O ponto do rato, nas coordenadas de controlo.
public virtual Rect ComputeBounds(IEnumerable<Part> parts)
result = diagramPanel.ComputeBounds(parts)
Calcular o retângulo limitado que envolve uma determinada coleção de peças.
- parts
Retorna: a união dos Limites de todas as partes em , ou Rect.Empty se não houver partes
protected virtual Rect ComputeDiagramBounds()
result = diagramPanel.ComputeDiagramBounds()
Isto é chamado por UpdateDiagramBounds para determinar um novo valor para DiagramBounds.
Retorna: um Rect nas coordenadas do modelo
protected virtual GridPattern CreateBackgroundGridPattern()
result = diagramPanel.CreateBackgroundGridPattern()
Crie o GridPattern para todo o diagrama, usando o modelo GridPatternTemplate@ de dados.
Retorna: o nó não ligado que detém o GridPattern
public void DoAutoScroll(Point modelPnt)
diagramPanel.DoAutoScroll(modelPnt)
Iniciar ou continuar a deslocar automaticamente a vista durante um arrastar do rato.
- modelPnt
- o ponto do rato actual, nas coordenadas do modelo
protected virtual Rect DoMakeVisible(UIElement elt, Rect rectangle)
result = diagramPanel.DoMakeVisible(elt, rectangle)
Este método sobreridível muda a posição para que o elemento dado fique visível na janela de visualização.
- elt
- um UIElement que está na árvore visual deste painel
- rectangle
- A região do elemento a ser colocado em vista; se esta estiver vazia, esta opção é por omissão para os Limites da Parte-mãe do elemento.
public T FindElementAt<T>(Point p, Func<Visual, T> navig, Predicate<T> pred, SearchLayers layers)
result = diagramPanel.FindElementAt(p, navig, pred, layers)
Procure todas as partes que estão em um dado ponto que atendam a um determinado predicado, e devolva o primeiro elemento que corresponde.
- p
- um ponto nas coordenadas do modelo
- navig
- Esta é uma função que é dado um elemento no ponto dado e retorna um elemento do tipo a ser considerado pelo predicado. Tipicamente a função encontrará o ancestral Parte ou Nó.
- pred
- Este é um predicado que é dado um elemento do tipo ; Se o predicado retorna true, este método retorna esse elemento; se retorna false, a busca continua por elementos no ponto indicado. Se este argumento predicado for nulo, nenhuma filtragem de elementos é feita -- o primeiro encontrado é devolvido.
- layers
- Os tipos de Camadas onde procurar. Por exemplo, se estiver à procura de um Nó, usando os Nós de valor, isto irá acelerar a procura ignorando as camadas que contêm Ligações.
Retorna: um elemento de tipo , ou nulo se nenhum for encontrado
public IEnumerable<T> FindElementsAt<T>(Point p, Func<Visual, T> navig, Predicate<T> pred, SearchLayers layers)
result = diagramPanel.FindElementsAt(p, navig, pred, layers)
Procure todas as partes que estão em um dado ponto que atendam a um determinado predicado, e devolva uma coleção de elementos que correspondam.
- p
- um ponto nas coordenadas do modelo
- navig
- Esta é uma função que é dado um elemento no ponto dado e retorna um elemento do tipo a ser considerado pelo predicado. Tipicamente a função encontrará o ancestral Parte ou Nó.
- pred
- Este é um predicado que é dado um elemento de tipo ; se o predicado retorna true, este método inclui esse elemento em seus resultados. Se este argumento predicado é nulo, nenhuma filtragem de elementos é feita -- todos estão incluídos.
- layers
- Os tipos de camadas onde procurar. Por exemplo, se você estiver procurando por nós, usando os nós de valor, isso irá acelerar a busca ignorando camadas contendo links.
Retorna: uma coleção talvez vazia de elementos do tipo
public IEnumerable<T> FindElementsIn<T>(Rect rect, Func<Visual, T> navig, Predicate<T> pred, SearchLayers layers)
result = diagramPanel.FindElementsIn(rect, navig, pred, layers)
Encontre elementos que estejam dentro de um retângulo.
- rect
- um Rect nas coordenadas do modelo
- navig
- Esta é uma função que é dado um elemento no ponto dado e retorna um elemento do tipo a ser considerado pelo predicado. Tipicamente a função encontrará o ancestral Parte ou Nó.
- pred
- Este é um predicado que é dado um elemento de tipo ; se o predicado retorna true, este método inclui esse elemento em seus resultados.
- layers
- Os tipos de camadas onde procurar. Por exemplo, se você estiver procurando por nós, usando os nós de valor, isso irá acelerar a busca ignorando camadas contendo links.
Retorna: uma coleção talvez vazia de elementos do tipo
public IEnumerable<T> FindElementsNear<T>(Point p, double dist, Func<Visual, T> navig, Predicate<T> pred, SearchLayers layers)
result = diagramPanel.FindElementsNear(p, dist, navig, pred, layers)
Encontre elementos que estejam a uma distância de um ponto.
- p
- um ponto nas coordenadas do modelo
- dist
- a distância, em coordenadas do modelo
- navig
- Esta é uma função que é dado um elemento no ponto dado e retorna um elemento do tipo a ser considerado pelo predicado. Tipicamente a função encontrará o ancestral Parte ou Nó.
- pred
- Este é um predicado que é dado um elemento de tipo ; se o predicado retorna true, este método inclui esse elemento em seus resultados.
- layers
- Os tipos de camadas onde procurar. Por exemplo, se você estiver procurando por nós, usando os nós de valor, isso irá acelerar a busca ignorando camadas contendo links.
Retorna: um elemento de tipo , ou nulo se nenhum for encontrado
internal IEnumerable<T> FindElementsWithin<T>(Geometry geo, Func<Visual, T> navig, Predicate<T> pred, SearchLayers layers)
result = diagramPanel.FindElementsWithin(geo, navig, pred, layers)
Procure todas as partes que estão dentro de uma determinada geometria que atendam a um determinado predicado, e devolva uma coleção de elementos que correspondam.
- geo
- a Geometria em coordenadas do modelo
- navig
- Esta é uma função que é dado um elemento no ponto dado e retorna um elemento do tipo a ser considerado pelo predicado. Tipicamente a função encontrará o ancestral Parte ou Nó.
- pred
- Este é um predicado que é dado um elemento de tipo ; se o predicado retorna true, este método inclui esse elemento em seus resultados.
- layers
- Os tipos de camadas onde procurar. Por exemplo, se você estiver procurando por nós, usando os nós de valor, isso irá acelerar a busca ignorando camadas contendo links.
Retorna: uma coleção talvez vazia de elementos do tipo
public T FindLayer<T>(string name)
result = diagramPanel.FindLayer(name)
Encontrar uma Camada do tipo fornecido com exatamente o mesmo ID que o dado .
- name
public T FindPartAt<T>(Point p, Predicate<T> pred, SearchLayers layers)
result = diagramPanel.FindPartAt(p, pred, layers)
Devolver a parte mais frontal que está em um dado ponto.
- p
- um ponto nas coordenadas do modelo
- pred
- Este é um predicado que é dado uma parte do tipo ; se o predicado retorna true, este método retorna essa parte. Se este argumento é nulo, este retorna a primeira parte que ele encontra no ponto.
- layers
- Os tipos de camadas onde procurar. Por exemplo, se você estiver procurando por nós, usando os nós de valor, isso irá acelerar a busca ignorando camadas contendo links.
Retorna: null se tal parte não for encontrada
public IEnumerable<T> FindPartsAt<T>(Point p, SearchLayers layers)
result = diagramPanel.FindPartsAt(p, layers)
Devolva todas as partes que estão em um dado ponto.
- p
- um ponto nas coordenadas do modelo
- layers
- Os tipos de camadas onde procurar. Por exemplo, se você estiver procurando por nós, usando os nós de valor, isso irá acelerar a busca ignorando camadas contendo links.
Retorna: Todas as partes do tipo indicado que estão no Ponto e que estão nos tipos de camadas indicados por . Isto devolve uma lista vazia se não forem encontradas peças qualificadas.
public IEnumerable<T> FindPartsIn<T>(Rect rect, SearchFlags srch, SearchInclusion overlap, SearchLayers layers)
result = diagramPanel.FindPartsIn(rect, srch, overlap, layers)
Encontre partes que estão dentro de um retângulo.
- rect
- um Rect nas coordenadas do modelo
- srch
- Que tipos de peças incluir; um valor típico pode ser SelectableParts.
- overlap
- A relação geométrica necessária com a parte; o valor típico é Inside.
- layers
- Os tipos de camadas onde procurar. Por exemplo, se você estiver procurando por nós, usando os nós de valor, isso irá acelerar a busca ignorando camadas contendo links.
public IEnumerable<T> FindPartsNear<T>(Point p, double dist, SearchFlags srch, SearchInclusion overlap, SearchLayers layers)
result = diagramPanel.FindPartsNear(p, dist, srch, overlap, layers)
Encontrem partes que estejam perto de um ponto.
- p
- um ponto nas coordenadas do modelo
- dist
- a distância, em coordenadas do modelo
- srch
- Que tipos de peças incluir; um valor típico pode ser SelectableParts.
- overlap
- A relação geométrica necessária com a parte; o valor típico é Inside.
- layers
- Os tipos de camadas onde procurar. Por exemplo, se você estiver procurando por nós, usando os nós de valor, isso irá acelerar a busca ignorando camadas contendo links.
internal IEnumerable<T> FindPartsWithin<T>(Geometry geo, SearchFlags srch, SearchInclusion overlap, SearchLayers layers)
result = diagramPanel.FindPartsWithin(geo, srch, overlap, layers)
Procure todas as partes que estão dentro de uma determinada geometria que atendam a certos critérios e devolva uma coleção daquelas que se encaixam.
- geo
- a Geometria em coordenadas do modelo
- srch
- Que tipos de peças incluir; um valor típico pode ser SelectableParts.
- overlap
- A relação geométrica necessária com a geometria; o valor típico é Inside.
- layers
- Os tipos de camadas onde procurar. Por exemplo, se você estiver procurando por nós, usando os nós de valor, isso irá acelerar a busca ignorando camadas contendo links.
Retorna: uma coleção talvez vazia de elementos do tipo
public T GetLayer<T>(string name)
result = diagramPanel.GetLayer(name)
Encontre uma Camada do tipo dado com exatamente o mesmo ID que o dado , ou devolva uma camada padrão do tipo dado.
- name
protected virtual void InitializeLayers()
diagramPanel.InitializeLayers()
Se não houver Camadas na coleção de Crianças deste painel, crie o conjunto padrão de camadas.
public static bool IsDoubleClick(MouseButtonEventArgs e)
result = DiagramPanel.IsDoubleClick(e)
Este predicado é verdadeiro se o evento do botão do mouse representa um duplo clique.
- e
internal bool IsUnoccupied(Rect r, Predicate<Part> skip)
result = diagramPanel.IsUnoccupied(r, skip)
Retorna verdadeiro se houver quaisquer nós dentro ou intersectando a região retangular dada.
- r
- um Rect nas coordenadas do modelo
- skip
- um predicado que deve retornar true para nós a serem ignorados ao verificar se há colisões, geralmente o nó no documento que você está considerando em movimento; pode ser nulo para considerar todos os nós não temporários
public void LineDown()
diagramPanel.LineDown()
Aumenta o VerticalOffset @ ScrollVerticalLineChange. (Implementos IScrollInfo.)
public void LineLeft()
diagramPanel.LineLeft()
Diminui o HorizontalOffset @ ScrollHorizontalLineChange. (Implementos IScrollInfo.)
public void LineRight()
diagramPanel.LineRight()
Aumenta o HorizontalOffset @ ScrollHorizontalLineChange. (Implementos IScrollInfo.)
public void LineUp()
diagramPanel.LineUp()
Diminui o VerticalOffset @ ScrollVerticalLineChange. (Implementos IScrollInfo.)
public BitmapSource MakeBitmap(Size bmpsize, double dpi, Point viewpos, double scale)
result = diagramPanel.MakeBitmap(bmpsize, dpi, viewpos, scale)
Devolver um mapa de bits que mostre as partes de uma determinada área, desenhado numa determinada escala.
- bmpsize
- o tamanho do bitmap resultante
- dpi
- resolução de bitmap
- viewpos
- um ponto nas coordenadas do modelo
- scale
- um valor de 1,0 é normal; o valor deve ser um número positivo. Valores menores produzem peças de aparência menor.
Retorna: a BitmapSource
public BitmapSource MakeBitmap()
result = diagramPanel.MakeBitmap()
Gera um mapa de bits que mostra as partes atualmente visíveis no diagrama.
Retorna: a BitmapSource
public BitmapSource MakeBitmap(Size bmpsize, double dpi, Point viewpos, double scale, Action<BitmapSource> act)
result = diagramPanel.MakeBitmap(bmpsize, dpi, viewpos, scale, act)
Devolver um mapa de bits que mostre as partes de uma determinada área, desenhado numa determinada escala.
- bmpsize
- o tamanho do bitmap resultante, arredondado para o inteiro mais próximo
- dpi
- resolução de bitmap
- viewpos
- um ponto em coordenadas do modelo para o canto superior esquerdo da área a ser renderizada
- scale
- um valor de 1,0 é normal; o valor deve ser um número positivo. Valores menores produzem peças de aparência menor.
- act
- uma ação que toma o BitmapSourcea ser realizada mais tarde; isto pode ser nulo
Retorna: a BitmapSource
public Rect MakeVisible(Visual visual, Rect rectangle)
result = diagramPanel.MakeVisible(visual, rectangle)
Role o diagrama para que um dado elemento () esteja na viewport. (Implementos IScrollInfo.)
- visual
- rectangle
- A região do elemento a ser visualizado. Este valor é normalmente Rect.Empty, o que significa a maior parte do elemento visual que se encaixa na janela.
Retorna: o resultado da chamada Rect)
protected override Size MeasureOverride(Size availableSize)
result = diagramPanel.MeasureOverride(availableSize)
Medir cada uma das camadas neste painel.
- availableSize
public void MouseWheelDown()
diagramPanel.MouseWheelDown()
Aumenta o VerticalOffset @ ScrollVerticalLineChange@ vezes o número de linhas a rolar para rotação do mouse. (Implementos IScrollInfo.)
public void MouseWheelLeft()
diagramPanel.MouseWheelLeft()
Diminui o HorizontalOffset ScrollHorizontalLineChange@ vezes o número de linhas a rolar para rotação do mouse. (Implementos IScrollInfo.)
public void MouseWheelRight()
diagramPanel.MouseWheelRight()
Aumenta o HorizontalOffset @ ScrollHorizontalLineChange@ vezes o número de linhas a rolar para rotação do mouse. (Implementos IScrollInfo.)
public void MouseWheelUp()
diagramPanel.MouseWheelUp()
Diminui o VerticalOffset ScrollVerticalLineChange@ vezes o número de linhas a rolar para rotação do mouse. (Implementos IScrollInfo.)
protected virtual void OnBoundsAlignmentChanged()
diagramPanel.OnBoundsAlignmentChanged()
Este método superridível é chamado quando as propriedades DiagramBounds ou HorizontalContentAlignment@ ou VerticalContentAlignment ou Stretch mudam.
protected virtual void OnDiagramBoundsChanged(RoutedPropertyChangedEventArgs<Rect> e)
diagramPanel.OnDiagramBoundsChanged(e)
Elevar o DiagramBoundsChangedevento.
- e
protected override void OnDragEnter(DragEventArgs e)
diagramPanel.OnDragEnter(e)
Lidar com um evento DragEnter.
- e
protected override void OnDragLeave(DragEventArgs e)
diagramPanel.OnDragLeave(e)
Lidar com um evento DragLeave.
- e
protected override void OnDragOver(DragEventArgs e)
diagramPanel.OnDragOver(e)
Lidar com um evento DragOver.
- e
protected override void OnDrop(DragEventArgs e)
diagramPanel.OnDrop(e)
Lidar com um evento Drop.
- e
protected override void OnGiveFeedback(GiveFeedbackEventArgs e)
diagramPanel.OnGiveFeedback(e)
Lidar com um evento GiveFeedback.
- e
protected virtual void OnInitialLayoutCompleted()
diagramPanel.OnInitialLayoutCompleted()
Este método sobreridível é chamado após o primeiro layout ter sido realizado e o DiagramBounds foi calculado.
protected virtual void OnLayoutCompleted()
diagramPanel.OnLayoutCompleted()
Este método sobreridível é chamado após cada layout ter sido realizado e o DiagramBounds foi calculado.
protected override void OnLostMouseCapture(MouseEventArgs e)
diagramPanel.OnLostMouseCapture(e)
Lidar com o evento quando a captura do mouse é perdida.
- e
protected override void OnMouseDown(MouseButtonEventArgs e)
diagramPanel.OnMouseDown(e)
Lidar com um evento de rato para baixo.
- e
protected override void OnMouseEnter(MouseEventArgs e)
diagramPanel.OnMouseEnter(e)
Lidar com um evento de entrada do mouse.
- e
protected override void OnMouseMove(MouseEventArgs e)
diagramPanel.OnMouseMove(e)
Lidar com um evento de movimento do mouse.
- e
protected override void OnMouseUp(MouseButtonEventArgs e)
diagramPanel.OnMouseUp(e)
Lidar com um evento do mouse.
- e
protected override void OnMouseWheel(MouseWheelEventArgs e)
diagramPanel.OnMouseWheel(e)
Lidar com um evento de roda do mouse.
- e
protected virtual void OnPositionChanged(Point oldpos, Point newpos)
diagramPanel.OnPositionChanged(oldpos, newpos)
Este método sobreridível é chamado quando a posição muda.
- oldpos
- um ponto nas coordenadas do modelo
- newpos
- um ponto nas coordenadas do modelo
protected override void OnQueryContinueDrag(QueryContinueDragEventArgs e)
diagramPanel.OnQueryContinueDrag(e)
Lidar com um evento QueryContinueDrag.
- e
protected virtual void OnScaleChanged(double oldscale, double newscale)
diagramPanel.OnScaleChanged(oldscale, newscale)
Este método sobreridível é chamado quando a Escala muda.
- oldscale
- um duplo
- newscale
- um duplo
protected virtual void OnSizeChanged(Size oldsize, Size newsize)
diagramPanel.OnSizeChanged(oldsize, newsize)
Este método sobreridível é chamado quando o tamanho real do painel muda.
- oldsize
- um Tamanho nas coordenadas dos elementos
- newsize
- um Tamanho nas coordenadas dos elementos
protected virtual void OnViewportBoundsChanged(RoutedPropertyChangedEventArgs<Rect> e)
diagramPanel.OnViewportBoundsChanged(e)
Elevar o ViewportBoundsChangedevento.
- e
protected override void OnVisualParentChanged(DependencyObject oldParent)
diagramPanel.OnVisualParentChanged(oldParent)
Cada DiagramPanel deve estar na árvore visual de um Diagrama.
- oldParent
public void PageDown()
diagramPanel.PageDown()
Aumenta o VerticalOffset @ ViewportHeight. (Implementos IScrollInfo.)
public void PageLeft()
diagramPanel.PageLeft()
Diminui o HorizontalOffset @ ViewportWidth. (Implementos IScrollInfo.)
public void PageRight()
diagramPanel.PageRight()
Aumenta o HorizontalOffset @ ViewportWidth. (Implementos IScrollInfo.)
public void PageUp()
diagramPanel.PageUp()
Diminui o VerticalOffset @ ViewportHeight. (Implementos IScrollInfo.)
public void PerformGesture(GestureModifiers modifiers, Gesture action, Point down, Point up, Diagram other)
diagramPanel.PerformGesture(modifiers, action, down, up, other)
Simular alguns eventos do rato.
- modifiers
- a GestureModifiers value, alguma combinação de Controle, Shift e Alt
- action
- um valor Gesture, tipicamente MouseLeftButton; um valor de Nenhum não faz nada
- down
- as coordenadas do ponto no modelo para o evento do mouse para baixo; este valor deve estar dentro do ViewportBounds
- up
- as coordenadas do ponto no modelo para o evento do mouse acima; este valor deve estar dentro do ViewportBounds
- other
- O Diagrama onde o rato se encontra. Se isto for diferente do Diagrama deste painel, irá ocorrer um arrastamento e a queda simulados. (Isto não usa o arrastamento e a queda real do Windows no WPF.) Isto poderá ser nulo para usar o diagrama deste painel, mantendo assim todo o gesto neste diagrama.
public void SetHorizontalOffset(double offset)
diagramPanel.SetHorizontalOffset(offset)
Altere o valor de HorizontalOffset alterando o valor da Posição. (Implementos IScrollInfo.)
- offset
public void SetScaleAndPosition(double newscale, Point newpos, int animationtime, Action act)
diagramPanel.SetScaleAndPosition(newscale, newpos, animationtime, act)
Defina as propriedades Escala e Posição com animação.
- newscale
- o novo valor duplo positivo para a Escala
- newpos
- o novo valor de ponto para a posição
- animationtime
- um tempo em milissegundos; se um tempo muito curto, nenhuma animação ocorre e as propriedades são simplesmente definidas
- act
- uma ação a executar após a animação terminar; nulo para não fazer nada depois
public void SetVerticalOffset(double offset)
diagramPanel.SetVerticalOffset(offset)
Altere o valor de VerticalOffset alterando o valor da Posição. (Implementos IScrollInfo.)
- offset
public void StopAutoScroll()
diagramPanel.StopAutoScroll()
Pare qualquer ação de rolagem automática em curso.
public Point TransformModelToView(Point p)
result = diagramPanel.TransformModelToView(p)
Converter um ponto nas coordenadas do modelo para as coordenadas do elemento.
- p
public Point TransformViewToModel(Point p)
result = diagramPanel.TransformViewToModel(p)
Converta um ponto nas coordenadas dos elementos para as coordenadas do modelo.
- p
public void UpdateDiagramBounds()
diagramPanel.UpdateDiagramBounds()
Solicitar que o valor DiagramBounds seja atualizado, com uma chamada para ComputeDiagramBounds.
public void ZoomToFit()
diagramPanel.ZoomToFit()
Altere a Escala para que tudo dentro do DiagramBounds se encaixe dentro do viewport.
public void ZoomToFit(StretchPolicy policy, Action afterwards)
diagramPanel.ZoomToFit(policy, afterwards)
Altere a Escala para que tudo dentro do DiagramBounds se encaixe dentro do viewport.
- policy
- normalmente um valor de Uniforme, mas pode ser UniformToFill
- afterwards
- uma ação a ser executada após a animação terminar; pode ser nula
Eventos
public event RoutedPropertyChangedEventHandler<Rect> DiagramBoundsChanged
diagramPanel.DiagramBoundsChanged += handler
Este evento ocorre quando os limites do diagrama ou as mudanças de alinhamento.
public event RoutedPropertyChangedEventHandler<Rect> ViewportBoundsChanged
diagramPanel.ViewportBoundsChanged += handler
Este evento ocorre quando a janela muda.
Campos
public static readonly DependencyProperty AutoScrollDelayProperty
value = DiagramPanel.AutoScrollDelayProperty
Identifica a propriedade AutoScrollDelay dependência.
public static readonly DependencyProperty AutoScrollRegionProperty
value = DiagramPanel.AutoScrollRegionProperty
Identifica a propriedade AutoScrollRegion dependência.
public static readonly DependencyProperty AutoScrollTimeProperty
value = DiagramPanel.AutoScrollTimeProperty
Identifica a propriedade AutoScrollTime dependência.
public static readonly DependencyProperty CanHorizontallyScrollProperty
value = DiagramPanel.CanHorizontallyScrollProperty
Identifica a propriedade CanHorizontallyScroll dependência.
public static readonly DependencyProperty CanVerticallyScrollProperty
value = DiagramPanel.CanVerticallyScrollProperty
Identifica a propriedade CanVerticallyScroll dependência.
public static readonly RoutedEvent DiagramBoundsChangedEvent
value = DiagramPanel.DiagramBoundsChangedEvent
Identifica o DiagramBoundsChanged roteado event.
public static readonly DependencyProperty DiagramBoundsProperty
value = DiagramPanel.DiagramBoundsProperty
Identifica a propriedade DiagramBounds dependência.
public static readonly DependencyProperty FixedBoundsProperty
value = DiagramPanel.FixedBoundsProperty
Identifica a propriedade FixedBounds dependência.
public static readonly DependencyProperty HorizontalContentAlignmentProperty
value = DiagramPanel.HorizontalContentAlignmentProperty
Identifica a propriedade HorizontalContentAlignment dependência.
public static readonly DependencyProperty MaximumScaleProperty
value = DiagramPanel.MaximumScaleProperty
Identifica a propriedade MaximumScale dependência.
public static readonly DependencyProperty MinimumScaleProperty
value = DiagramPanel.MinimumScaleProperty
Identifica a propriedade MinimumScale dependência.
public static readonly DependencyProperty PaddingProperty
value = DiagramPanel.PaddingProperty
Identifica a propriedade de dependência de Padding.
public static readonly DependencyProperty PositionProperty
value = DiagramPanel.PositionProperty
Identifica a propriedade de dependência de Posição.
public static readonly DependencyProperty ScaleProperty
value = DiagramPanel.ScaleProperty
Identifica a propriedade de dependência da Escala.
public static readonly DependencyProperty ScrollHorizontalLineChangeProperty
value = DiagramPanel.ScrollHorizontalLineChangeProperty
Identifica a propriedade ScrollHorizontalLineChange dependência.
public static readonly DependencyProperty ScrollOwnerProperty
value = DiagramPanel.ScrollOwnerProperty
Identifica a propriedade ScrollOwner dependência.
public static readonly DependencyProperty ScrollVerticalLineChangeProperty
value = DiagramPanel.ScrollVerticalLineChangeProperty
Identifica a propriedade ScrollVerticalLineChange dependência.
public static readonly DependencyProperty StretchProperty
value = DiagramPanel.StretchProperty
Identifica a propriedade de dependência Stretch.
public static readonly DependencyProperty VerticalContentAlignmentProperty
value = DiagramPanel.VerticalContentAlignmentProperty
Identifica a propriedade VerticalContentAlignment dependência.
public static readonly RoutedEvent ViewportBoundsChangedEvent
value = DiagramPanel.ViewportBoundsChangedEvent
Identifica o ViewportBoundsChanged roteado event.
public static readonly DependencyProperty ZoomPointProperty
value = DiagramPanel.ZoomPointProperty
Identifica a propriedade ZoomPoint dependência.
public static readonly DependencyProperty ZoomTimeProperty
value = DiagramPanel.ZoomTimeProperty
Identifica a propriedade ZoomTime dependência.