Estilos
Cada controle móvel do ASP.NET fornece propriedades de estilo que você pode usar para personalizar como o controle é processado.Estilos podem ser agrupados para conveniência para que você pode aplicar estilos consistência entre diferentes elementos de uma página.Use um StyleSheet controle ou um Estilo elemento para acessar propriedades específicas para os recursos de controle e dispositivo.
Observação: |
---|
Configurações de propriedade de estilo não são garantia ser respeitadas.Se um dispositivo de destino não oferecer suporte a um determinado estilo, o ASP.NET ignora o estilo ou substitui um diferente. |
Estilo de herança
A menos que você explicitamente especifique propriedades de estilo no seu controle (, ou indiretamente usando uma referência de estilo), um controle herda as propriedades de estilo de seu contêiner.Mais estilo propriedades padrão, nulo ou um valor enumerado de NotSet. Isso torna mais fácil distinguir propriedades de estilo que foram explicitamente conjunto daqueles que não foram conjunto.
Declarando explicitamente estilos
Há duas maneiras para declarar explicitamente um estilo para um controle.Uma maneira é conjunto uma propriedade de estilo.Por exemplo, suponha que você criar um formulário e adicionar um Label controle ao formulário. (O rótulo, em seguida, é um controle filho do formulário.) Então, quando você conjunto Font-Namepropriedade "Arial", o rótulo usará a fonte Arial.
A Outros maneira de conjunto explicitamente um estilo para um controle filho é conjunto o StyleReference propriedade do controle.
Definir estilos usando o controle DeviceSpecific
Você também pode conjunto propriedades de estilo através de um DeviceSpecific controle. O exemplo a seguir mostra um rótulo que é exibido usando itálico para a maioria dos dispositivos e em negrito quando ele é exibido em um dispositivo de área de trabalho.
<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage" %>
<script language="C#" >
// A custom method to determine if the page
// is displayed on a mobile device
public bool IsDesktop(System.Web.Mobile.MobileCapabilities
capabilities, String argument)
{
return !capabilities.IsMobileDevice;
}
</script>
<Mobile:StyleSheet >
<Style Name="ListStyle" Font-Italic="true">
<DeviceSpecific>
<Choice Filter="IsDesktop" Font-Italic="false"
Font-Bold="true" />
</DeviceSpecific>
</Style>
</Mobile:StyleSheet>
<Mobile:Form runat=server>
<Mobile:Label id="list1" runat=server StyleReference="ListStyle">
Here is some text
</Mobile:Label>
</Mobile:Form>
Algoritmo de pesquisa para um estilo referenciado
Quando um estilo é referenciado por meio de StyleReference propriedade, o ASP.NET segue uma sequência específica de verificações para determinar o estilo a ser aplicado. Para um controle filho (um controle dentro de um controle de contêiner pai), sistema autônomo regras para determinar sistema autônomo características do filho são descritas na lista a seguir, usando Font-Size Por exemplo:
Se o Font-Size atributo tenha sido explicitamente conjunto para um controle filho, o controle usa esse conjunto seletiva.
Caso contrário, se StyleReference propriedade é conjunto (por exemplo, myChild.StyleReference = someStyle), o controle usará o valor da Font-Size atributo do referenciado Style elemento (por exemplo, someStyle). O controle filho acessa o valor, fazendo o seguinte:
O filho procura no estilo referenciado na folha de estilos do corrente MobilePage instância.
Se o filho não encontrará-lo da página folha de estilos, ele faz referência o padrão do sistema folha de estilos.
Se o filho não o encontrar uma estilo folha é gerado um erro em time de execução.
Se o estilo não estiver disponível diretamente ou indiretamente, a StyleReference propriedade não foi definida e o controle filho obtém o valor do seu Font-Size atributo por recursivamente aplicar esse procedimento para o controle pai.
Se a recursão atingir o topo da hierarquia de controle sem localizar um valor explícito para o Font-Size atributo, o controle usa o dimensionar de fonte padrão.
Esse algoritmo permite estilos separados que pode você poderá fazer referência de vários controles.Oferece suporte a herança dos controles do recipiente e ela segue as expectativas de codificação e lógica padrão.
Exceções para o algoritmo de pesquisa
Há duas exceções para o algoritmo de pesquisa:
Uma cor do plano de fundo não recebe o valor do objeto pai.(Essa opção é consistente com o comportamento em cascata estilo planilhas.)
DeviceSpecific controles não herdam valores do controle pai. A DeviceSpecific controle geralmente explicitamente é desenvolvido para um tipo de controle ou controle específico.
Folhas de estilo
Controles móveis do ASP.NET fornecem uma folha de estilos padrão que define um número limitado de estilos para você.Para obter mais informações, consulte StyleSheet.Você pode substituir com com facilidade os valores desses estilos padrão para aplicar seus próprios.Qualquer número de <estilo> as declarações de elemento podem residir em uma folha de estilos única.Cada <Style> elemento é identificado por um único Name propriedade. Você pode conjunto o StyleReference propriedade de outro controle para o Name propriedade, assim, fazendo referência ao seu estilo. Você também pode usar essa técnica para fazer referência a um estilo a partir de outro estilo.
estilo externo Folhas
É possível definir um folha de estilos externo que podem ser usadas para vários controles.Isso é vantajoso se você quiser usar os mesmos estilos em várias páginas.Para criar um folha de estilos externo, criar um controle de usuário em um arquivo .ascx e colocar um único StyleSheet controle com um conjunto de estilos nele. Em seguida, para se referir a este arquivo, coloque um StyleSheet controle em uma página móvel e conjunto seus ReferencePath propriedade para a URL relativa do controle de usuário.
folha de estilos externo Implementação
Implementando um folha de estilos externo requer três etapas:
Escreva um controle de usuário para dispositivos móveis do Microsoft ASP.NET em um arquivo .ascx.
Coloque uma folha de estilos única no arquivo .ascx, adicionando o <estilo> elementos que necessários.
Declarar uma folha de estilos e conjunto seus ReferencePath propriedade ao nome de arquivo .ascx do controle de usuário para cada página móvel no qual você deseja usar a folha de estilos externa.
Em time de execução, todos os estilos declarado na folha de estilos externo são disponibilizados para a estrutura da página ASP.NET para a folha de estilos na página móvel.Para obter mais informações sobre controles de usuário, consulte Controles de Usuário.
Características de objetos de estilo e a classe de estilo
A Style objeto não é um verdadeiro controle, e não herdar a base MobileControl classe. Em uma página, ele pode ser declarado apenas dentro de um StyleSheet controlar por meio de uso <Style> elemento.
A base Style classe contém o estilo características comuns a todos os controles móveis. Classes que herdam o Style a classe contém características de estilo adicionais específicas para seu controle associado.
Cada MobileControl contém internamente uma Style objeto. No entanto, esse Style objeto não é exposto por meio de membros públicos. Em vez disso, para cada propriedade de estilo, a MobileControl tem uma propriedade pode ser acessada publicamente que referencia o estilo em particular contido internamente. Portanto, um MobileControl diretamente expõe sistema autônomo propriedades de estilo, sistema autônomo Font, ForeColor, e Wrapping.
Organização de estilos
Você pode organizar estilos em um StyleSheet controle. Em uma folha de estilos, é possível declarar qualquer número de objetos de estilo.Estilos são declarados da mesma maneira que qualquer controle, com exceção de que um runat=server atributo não é necessário. Para obter mais informações, consulte Elemento <estilo>.
Um estilo pode herdar suas propriedades de outro estilo na folha de estilos por ter seus StyleReference conjunto de propriedades como o nome do estilo pai. O escopo para isso é a página móvel.Ou seja, apenas os estilos na folha de estilos na mesma página móvel podem ser referenciados.Para ter um controle adquirir seus estilos de um objeto de estilo na folha de estilos, conjunto o StyleReference propriedade de seu objeto de estilo para o nome do estilo, por declarando o StyleReference atributo em uma página da Web móvel do ASP.NET ou programaticamente conjunto seletiva a StyleReference propriedade.
Consulte também
Tarefas
Demonstra Passo a passo: Implementar um novo estilo
Conceitos
Outros recursos
Criando controles móveis personalizados
Design e conceitos de renderização para controles móveis do ASP.NET