Каков хороший способ представления списка вариантов для поля со списком или списка в XAML? - PullRequest
0 голосов
/ 09 сентября 2009

Все, что компактнее (или лучше), чем

    <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>

Ответы [ 2 ]

1 голос
/ 09 сентября 2009

Без кода это самый лучший способ для AFAIK.

0 голосов
/ 11 августа 2011
<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>

Преимущество этого подхода состоит в том, что вы можете поддерживать элементы полностью отдельно от XAML, если вам нужно - вы можете сохранять их во внешнем XML-документе и загружать XmlDataProvider во время выполнения, если вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...