A maior rede de estudos do Brasil

Grátis
1800 pág.
indroducao Xammarin.Froms

Pré-visualização | Página 22 de 50

{x:Type someClass} .
Você pode definir matrizes em XAML usando o x:Array extensão de marcação. Esta extensão de marcação
tem um atributo obrigatório chamado Type que indica o tipo dos elementos na matriz.
O Binding extensão de marcação é discutida em parte 4. Noções básicas de vinculação de dados.
Extensões de marcação podem ter propriedades, mas elas não são definidas como atributos XML. Em uma
extensão de marcação, as configurações de propriedade são separadas por vírgulas e sem aspas aparecer entre
chaves.
Isso pode ser ilustrado com a extensão de marcação do xamarin. Forms denominada ConstraintExpression , que
é usado com o RelativeLayout classe. Você pode especificar o local ou o tamanho de um modo de exibição filho
como uma constante, ou em relação a um pai ou de outro modo de exibição nomeado. A sintaxe do 
ConstraintExpression permite que você defina a posição ou o tamanho de um modo de exibição usando um 
Factor vezes, uma propriedade de outro modo de exibição, além de uma Constant . Algo mais complexo do
que isso requer código.
Aqui está um exemplo:
 Constant=0}"
 RelativeLayout.YConstraint=
 "{ConstraintExpression Type=Constant,
 Constant=0}" />
 <!-- Upper right -->
 <BoxView Color="Green"
 RelativeLayout.XConstraint=
 "{ConstraintExpression Type=RelativeToParent,
 Property=Width,
 Factor=1,
 Constant=-40}"
 RelativeLayout.YConstraint=
 "{ConstraintExpression Type=Constant,
 Constant=0}" />
 <!-- Lower left -->
 <BoxView Color="Blue"
 RelativeLayout.XConstraint=
 "{ConstraintExpression Type=Constant,
 Constant=0}"
 RelativeLayout.YConstraint=
 "{ConstraintExpression Type=RelativeToParent,
 Property=Height,
 Factor=1,
 Constant=-40}" />
 <!-- Lower right -->
 <BoxView Color="Yellow"
 RelativeLayout.XConstraint=
 "{ConstraintExpression Type=RelativeToParent,
 Property=Width,
 Factor=1,
 Constant=-40}"
 RelativeLayout.YConstraint=
 "{ConstraintExpression Type=RelativeToParent,
 Property=Height,
 Factor=1,
 Constant=-40}" />
 <!-- Centered and 1/3 width and height of parent -->
 <BoxView x:Name="oneThird"
 Color="Red"
 RelativeLayout.XConstraint=
 "{ConstraintExpression Type=RelativeToParent,
 Property=Width,
 Factor=0.33}"
 RelativeLayout.YConstraint=
 "{ConstraintExpression Type=RelativeToParent,
 Property=Height,
 Factor=0.33}"
 RelativeLayout.WidthConstraint=
 "{ConstraintExpression Type=RelativeToParent,
 Property=Width,
 Factor=0.33}"
 RelativeLayout.HeightConstraint=
 "{ConstraintExpression Type=RelativeToParent,
 Property=Height,
 Factor=0.33}" />
 <!-- 1/3 width and height of previous -->
 <BoxView Color="Blue"
 RelativeLayout.XConstraint=
 "{ConstraintExpression Type=RelativeToView,
 ElementName=oneThird,
 Property=X}"
 RelativeLayout.YConstraint=
 "{ConstraintExpression Type=RelativeToView,
 ElementName=oneThird,
 Property=Y}"
 RelativeLayout.WidthConstraint=
 "{ConstraintExpression Type=RelativeToView,
 "{ConstraintExpression Type=RelativeToView,
 ElementName=oneThird,
 Property=Width,
 Factor=0.33}"
 RelativeLayout.HeightConstraint=
 "{ConstraintExpression Type=RelativeToView,
 ElementName=oneThird,
 Property=Height,
 Factor=0.33}" />
 </RelativeLayout>
</ContentPage>
Resumo
Links relacionados
Talvez a lição mais importante que você deve executar este exemplo é a sintaxe de extensão de marcação: sem
aspas devem aparecer dentro das chaves de uma extensão de marcação. Ao digitar a extensão de marcação em
um arquivo XAML, é natural deseja colocar os valores das propriedades entre aspas. Resista à tentação!
Aqui está o programa em execução:
As extensões de marcação XAML mostradas aqui oferecem suporte importante para arquivos XAML. Mas
talvez seja a extensão de marcação XAML mais valiosa Binding , que será abordado na próxima parte desta
série, parte 4. Noções básicas de vinculação de dados.
XamlSamples
Parte 1. Introdução ao XAML
Parte 2. Sintaxe essencial de XAML
Parte 4. Conceitos básicos da associação de dados
Parte 5. De associação de dados a MVVM
Parte 4. Noções básicas de associação de dados
09/06/2018 • 20 minutes to read • Edit Online
Associações de dados
Associações de exibição para exibição
Associações de dados permitem que propriedades de dois objetos a serem vinculados para que a alteração
de uma causa uma alteração no outro. Essa é uma ferramenta muito valiosa e enquanto associações de
dados podem ser definidas inteiramente no código, XAML fornece atalhos e conveniência.
Consequentemente, uma das extensões de marcação mais importantes no xamarin. Forms é associação.
Propriedades de dois objetos, chamados de conexão de associações de dados de fonte e destino. No código,
duas etapas são necessárias: O BindingContext propriedade do objeto de destino deve ser definida para o
objeto de origem e o SetBinding método (geralmente usado em conjunto com o Binding classe) deve ser
chamado no objeto de destino para associar uma propriedade que objeto a uma propriedade do objeto de
origem.
A propriedade de destino deve ser uma propriedade ligável, o que significa que o objeto de destino deve ser
derivado de BindableObject . A documentação online do xamarin. Forms indica as propriedades vinculáveis.
Uma propriedade de Label como Text está associado com a propriedade associável TextProperty .
Na marcação, você também deve executar as duas etapas mesmo que são necessárias no código, exceto pelo
fato do Binding extensão de marcação assume o lugar do SetBinding chamar e Binding classe.
No entanto, quando você definir associações de dados em XAML, há várias maneiras de definir o 
BindingContext do objeto de destino. Às vezes, ele é definido do arquivo code-behind, às vezes, usando um 
StaticResource ou x:Static extensão de marcação e às vezes, como o conteúdo de BindingContext marcas
de elemento de propriedade.