Partilhar via


VisualBrush.Visual Propriedade

Definição

Obtém ou define o conteúdo do pincel.

public:
 property System::Windows::Media::Visual ^ Visual { System::Windows::Media::Visual ^ get(); void set(System::Windows::Media::Visual ^ value); };
public System.Windows.Media.Visual Visual { get; set; }
member this.Visual : System.Windows.Media.Visual with get, set
Public Property Visual As Visual

Valor da propriedade

O conteúdo do pincel. O padrão é null.

Comentários

Há duas maneiras de especificar o conteúdo Visual de um VisualBrush.

  • Crie um novo Visual e use-o para definir a propriedade Visual do VisualBrush.

  • Use um Visualexistente, que cria uma imagem duplicada do Visualde destino. Em seguida, você pode usar o VisualBrush para criar efeitos interessantes, como reflexão e ampliação.

Visual é bastante alto na hierarquia geral de classes do WPF, portanto, um número muito grande de objetos poderia possivelmente servir como o visual que você usa para um VisualBrush; a lista inteira não pode ser mostrada aqui. Consulte Visual; consulte a seção "Hierarquia de Herança", que mostrará as classes derivadas imediatamente. Em seguida, você pode clicar nas classes derivadas imediatamente e percorrer as hierarquias para ter uma noção de toda a gama de possibilidades. Em um nível superior, as duas categorias mais comuns de objetos que você pode usar para um VisualBrush são UIElement ou ContainerVisual. UIElement abrange basicamente qualquer elemento de interface do usuário que, de outra forma, pode participar da interface do usuário de um aplicativo WPF. ContainerVisual contém um DrawingGroup que inclui um ou mais objetos derivados de Drawing.

Quando você define um novo Visual para um VisualBrush e esse Visual é um UIElement (como um painel ou controle), o sistema de layout é executado no UIElement e seus elementos filho quando a propriedade AutoLayoutContent é definida como true. No entanto, o UIElement raiz é essencialmente isolado do restante do sistema; estilos, storyboards e layout externo ditados pelo pai em que o pincel é aplicado não podem permear esse limite. Portanto, você deve especificar explicitamente o tamanho do UIElementraiz, pois seu único pai é o VisualBrush e, portanto, ele não pode dimensionar-se automaticamente para a área que está sendo pintada. Para obter mais informações sobre layout no WPF (Windows Presentation Foundation), consulte olayout do .

As atualizações para a árvore visual de um VisualBrush não serão propagadas se um BitmapEffect estiver na cadeia pai do pincel. Você pode contornar essa limitação forçando uma atualização da cena no objeto acima do efeito. Você pode chamar InvalidateVisual ou incluir uma animação para forçar uma atualização de cena.

Nota

Um VisualBrush não pode ser feito somente leitura (congelado) quando sua propriedade Visual é definida como qualquer valor diferente de null.

Uso do elemento de propriedade XAML

<object>
  <object.Visual>
    singleVisualRoot
  </object.Visual>
</object>

Uso do atributo XAML

< objetoVisual="{bindingExpression}"/>

-ou-

< objetoVisual="{resourceExpression}"/>

Valores XAML

singleVisualRoot um único elemento de objeto que define um novo elemento visual para o pincel. Este deve ser um objeto que deriva de Visual. Consulte Comentários.

bindingExpression Uma expressão que é avaliada como uma instância de Visual existente.

resourceExpression um StaticResource ou DynamicResource que é avaliado como uma instância de Visual existente. Consulte recursos XAML.

Informações da propriedade Dependency

Campo identificador VisualProperty
Propriedades de metadados definidas como true Nenhum

Aplica-se a