Todas as caixas de diálogo do Data Standard são baseadas em um arquivo com a extensão .XAML (Extensible Application Markup Language). Para personalizar a caixa de diálogo do Data Standard, modifique o arquivo XAML.
Os arquivos XAML descrevem o layout da caixa de diálogo do Data Standard, incluindo quais controles (legenda, caixa de texto, caixa combo etc.) são usados e a quais propriedades do CAD ou do Vault os controles estão vinculados.
Os arquivos XAML são arquivos XML e podem ser editados com qualquer editor de texto/XML. Uma boa escolha para um editor XML gratuito é o Bloco de Notas XML da Microsoft ou qualquer outro editor que possa formatar XML. A Autodesk recomenda o Visual Studio (Express ou posterior) para uma melhor experiência de edição. Como a sintaxe XAML diferencia maiúsculas de minúsculas, é melhor usar um editor que ofereça suporte a maiúsculas e detecte erros de ortografia.
Se uma caixa de diálogo do Data Standard precisar mostrar mais ou menos informações ou informações diferentes, você poderá editar o arquivo XAML. Os arquivos PS1 localizados na pasta de configuração controlam o comportamento da caixa de diálogo.
Este tópico fornece uma breve descrição dos controles mais usados. Para obter mais informações sobre esses e outros controles, acesse as páginas de ajuda da Microsoft.
Cada arquivo XAML tem diferentes seções: as seções mais usadas são Recurso, Estilo e de controles.
Na seção Recurso, há definições que são reutilizadas nas seções de controle. Por exemplo, se a cor da sua empresa é verde, você pode estabelecer que todo texto exibido nos controles seja verde.
Na seção Estilo, você encontrará ativadores. Os ativadores definem a aparência e o comportamento dos controles, dependendo da situação (por exemplo, criação de um novo registro ou edição de um registro existente). No entanto, comportamentos mais complexos são definidos nos arquivos PS1.
Normalmente, a seção de controles, ou área de layout, começa com o controle <Grid>
. A grade divide a caixa de diálogo em linhas e colunas, como uma tabela do Excel. Combine e divida células conforme as exigências do projeto. Em cada célula, é possível inserir um ou mais controles, como legendas, para textos simples, ou caixas de texto, para entradas de texto.
O layout de um arquivo XAML é similar ao de uma tabela, pois apresenta linhas e colunas. Isso torna a caixa de diálogo e seus controles dinâmicos, o que significa que, se você redimensionar a janela com o mouse, os controles também serão redimensionados automaticamente. Também é possível trabalhar com coordenadas fixas, mas nesse caso, quando a caixa de diálogo é redimensionada pelo usuário ou quando alguns usuários usam uma fonte maior nas janelas, os controles da caixa de diálogo permanecem em suas coordenadas e possivelmente sobrepõem ou não consomem o espaço disponível na caixa de diálogo. Por esse motivo, a Autodesk recomenda usar tabelas e permitir que cada controle seja expandido dentro da célula definida.
Como a caixa de diálogo é igual a uma tabela, ao projetá-la, pense em quantas colunas e linhas você precisa. Geralmente, é fácil criar duas colunas: uma à esquerda com largura fixa para as legendas e outra à direita com largura dinâmica para os controles. Também é assim que as caixas de diálogo padrão são criadas. Dependendo do número de linhas necessárias, definições de linha podem ser especificadas na grade. Cada controle da grade (Grid) tem uma referência para a linha e a coluna (sempre começando com 0), de modo que o controle seja exibido de acordo.
Em XML e XAML, todas as palavras-chave são colocadas entre chaves (
A grade (Grid) é um painel de layout que controla tudo em uma estrutura de tabela contendo linhas e colunas. Todas as células (uma célula é exclusiva com sua combinação de uma linha e uma coluna) podem conter vários controles, como legendas e caixas de texto.
Esta é a estrutura básica de uma grade. A grade precisa de linhas, que você pode definir na peça Grid.RowDefinition. A altura 30 define um valor fixo para a altura e não pode ser alterada depois. O valor "automático" dá à linha uma altura dinâmica, por isso ela pode ficar mais espessa ou mais fina, dependendo dos controles. Os mesmos valores se aplicam à largura da coluna.
Depois de definir linhas e colunas, você pode adicionar controles, como legendas e caixas de texto. Os controles devem ser anexados em duas propriedades: Grid.Column e Grid.Row. Essas propriedades definem a localização do controle na grade. A primeira linha é 0, de modo que a segunda linha é 1 e assim por diante.
As legendas (Labels) são nomes de campo que o usuário não pode editar. Elas contêm texto que indica sua finalidade. Dessa forma, o usuário fica sabendo que tipo de valor deve ser inserido na caixa de texto ou na caixa de combinação correspondente. Por exemplo, uma legenda chamada Comentários pode estar localizada ao lado de uma caixa de texto vazia. Isso informa ao usuário que ele deve inserir comentários na caixa de texto.
A legenda (Label) tem uma propriedade de conteúdo. Essa propriedade é o texto que é exibido na legenda.
<Label Content="sample" Grid.Row ="0" Grid.Colum="0"/>
Nas caixas de diálogo padrão, há sequências de caracteres de código como esta <Label Content="{Binding UIString\[LBL2\]}" ....>
, em que o conteúdo é vinculado a um texto localizado. Essa sintaxe é usada quando a caixa de diálogo exibe texto em diferentes idiomas. Se seu projeto precisar de apenas um idioma, defina o texto que deseja exibir. Se a caixa de diálogo precisar ser localizada, use a sintaxe de localização. Consulte Localização para obter mais informações.
As caixas de texto são campos que podem ser editados pelo usuário. O Padrão de dados pode ler o valor inserido e usá-lo para outras operações.
A caixa de texto precisa das seguintes propriedades:
content="Enter Comments Here"
, a caixa de texto mostrará Inserir comentários aqui quando a caixa de diálogo for aberta.<ComboBox Name="MaterialCombo" Text="{Binding Prop[Cost].Value}" Grid.Column="3" Grid.Row="6" ItemsSource="{Binding Prop[Cost].ListValues}"/>
Um botão é um elemento de interface do usuário que oferece ao usuário uma maneira simples de ativar um evento como Pesquisar ou Salvar. O botão precisa da propriedade Command. A propriedade Command identifica que ação será executada quando o usuário clicar no botão.
<Button Command="{Binding PsCmd[MyCommand]}" Grid.Column="1" Margin="0,5,0,5" Width="80">Click</Button>
Command está vinculado à palavra-chave PsCmd
, que ajuda a vincular a ação do comando à função do PowerShell determinada. É possível passar argumentos para a função utilizando o atributo CommandParameter="my args"
. O argumento ficará disponível dentro da função como a variável $dsParam
.
Para utilizar um desses componentes para controlar ou alterar uma propriedade de arquivo do Vault, você precisa entender "{Binding Prop[myProp ].Value}"
.
A associação permite mapear valores para determinadas propriedades do Vault ou de CAD. Por exemplo, é possível associar o texto de uma caixa de texto à propriedade Title. Dessa forma, sempre que dados forem inseridos nessa caixa de texto específica, a propriedade Title será atualizada automaticamente. A associação é uma excelente maneira de automatizar alterações de propriedade e representa menos trabalho para o usuário final
Prop[ ]
é uma função essencial para associação. Com ela, é possível acessar as propriedades de um arquivo (CAD e Vault) ou de um objeto relacionado (pasta, item, objeto personalizado, etc.). Se você deseja mapear uma caixa de texto para a propriedade Engineer, escreva <TextBox text="{Binding Prop[Engineer].Value}"/>
. Quando a caixa de texto é criada, Prop[ ]
retorna o valor dessa propriedade. Sempre que a caixa de texto é atualizada, ela notifica a função Prop[ ]
, que escreve o novo valor para a propriedade de arquivo mapeada.
É possível usar o Visual Studio para editar o arquivo .xaml. O Visual Studio ajuda você a inserir os elementos e evitar erros de ortografia.
Exemplo de configuração do Visual Studio:
Agora que está no novo projeto, você poderá ver a guia MainWindow.xaml, a guia MainWindow.xam.cs e outras. Você não precisa das guias, apenas do ambiente fornecido para editar o arquivo .xaml. Para fins de edição do arquivo .xaml, convém criar um vínculo com esse arquivo. Não é necessário colocar o .xaml no projeto.
No Gerenciador de soluções, clique com o botão direito do mouse no projeto e mova-o para Adicionar>Item existente.
Navegue para o arquivo .xaml em Gerenciador de Soluções e selecione Adicionar como link.
Quando o arquivo .xaml aparecer no Gerenciador de Soluções, clique duas vezes nele.
Será exibido um erro chamado Problema ao carregar.
Na lista de erros na parte inferior da janela do Visual Studio, localize o erro que informa que montagens e propriedades ou recursos não foram encontrados.
Vá até o Gerenciador de Soluções e clique com o botão direito do mouse em Referências.
Selecione Adicionar referências.
Selecione a guia Procurar e pesquise por:
Se as alterações forem para CAD, selecione o arquivo .cfg que deseja modificar no Gerenciador de Soluções.
A caixa de diálogo é exibida na janela de desenho. Nesse momento, você pode selecionar uma área na caixa de diálogo, e o Visual Studio vai para essa parte no arquivo xaml. Comece a inserir ou modificar campos. Consulte Caixas de diálogo do Data Standard para obter mais informações.
<Grid.RowDefinitions>
e <RowDefinition .../>
. Adicione outro <RowDefinition/>
onde você deseja que a nova linha seja exibida. Defina a propriedade Height para o valor correspondente, um valor fixo ou automático (para espaço mínimo) ou * (para espaço máximo).Grid.Row
e Grid.Column
, é possível definir em qual linha e coluna o controle é colocado. Você também pode definir as associações do controle. Dessa forma, os dados poderão fluir entre o controle e a propriedade. Se pretender fazer alterações no CAD, você também deve configurar a propriedade no arquivo CFG correspondente.Grid.Row
dos controles.