Pergunta

eu tenho um Dictionary<string, FieldDefinition> Propriedade de dependência que, quando eu a vincho a uma caixa de listagem WPF, quero que ela apenas imprima a string (não a FieldDefinition).

Existe uma maneira de fazer isso?

Foi útil?

Solução

Eu poderia estar errado aqui, mas acho que você está procurando o Keys propriedade no dicionário; Isso retornará uma coleção de TKey Valores (no seu caso, a parte 'string' do seu dicionário, não a parte do campo, que aliás estaria disponível através do Values Propriedade)

<ListBox ItemsSource="{Binding MyDictionary.Keys}" />

Outras dicas

Eu criaria uma classe que implementa idictio

public class CustomDictionary : IDictionary
{
...
}

ou herda o dicionário

public class CustomDictionary : Dictionary<string, FieldDefinition>
{
...
}

e substituir o ToString Método nesta aula como esta:

public override string ToString() 
  {
     return "My custom string";
  }

Derivar uma classe do dicionário, substituir a tostring ().

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