Qual é a boa maneira de representar uma lista de opções para uma caixa de combinação ou caixa de listagem em XAML?

StackOverflow https://stackoverflow.com/questions/1401167

Pergunta

Qualquer coisa é mais compacto (ou de outra forma melhor do que)

    <x:Array x:Key="titles" Type="System:String">
        <System:String>Mr.</System:String>
        <System:String>Mrs.</System:String>
        <System:String>Ms.</System:String>
    </x:Array>

?

Foi útil?

Solução

Sem código que é o mais concisa possível AFAIK.

Outras dicas

<Page
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Page.Resources>
    <XmlDataProvider x:Key="Lookups">
      <x:XData>
        <ComboBoxItems xmlns="">
          <Salutations>
            <Item>Mr.</Item>
            <Item>Mrs.</Item>
            <Item>Ms.</Item>
          </Salutations>
          <States>
            <Item>AL</Item>
            <Item>AK</Item>
            <Item>CA</Item>
            <Item>CT</Item>
          </States>
          <Wizards>
            <Item>Gandalf</Item>
            <Item>Radagast</Item>
            <Item>Pallando</Item>
            <Item>Saruman</Item>
          </Wizards>
        </ComboBoxItems>
      </x:XData>
    </XmlDataProvider>
  </Page.Resources>
  <StackPanel>  
    <ComboBox ItemsSource="{Binding Source={StaticResource Lookups}, XPath=ComboBoxItems/Salutations/*}"/>
    <ComboBox ItemsSource="{Binding Source={StaticResource Lookups}, XPath=ComboBoxItems/States/*}"/>
    <ComboBox ItemsSource="{Binding Source={StaticResource Lookups}, XPath=ComboBoxItems/Wizards/*}"/>
  </StackPanel>
</Page>

Uma vantagem dessa abordagem é que você pode manter os itens completamente separadamente do XAML se você precisa -. Você pode armazená-los em um documento XML externo e carregar o XmlDataProvider em tempo de execução se você precisa

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top