Convertendo XAML ObjectDataProvider para C #
-
21-08-2019 - |
Pergunta
Eu gostaria de criar meu ObjectDataProvider no meu código C # para trás ao invés de meu XAML.
Eu queria saber como alterar esta XAML em equivalente C #. O XAML foi gerado pela Microsoft Expression Blend 2, de modo que o d:. Namespace pode ser ignorada com segurança
<ObjectDataProvider x:Key="FooSourceDS" ObjectType="{x:Type myNS:FooSource}" d:IsDataSource="True"/>
myNS é um namespace referenciando meu objeto CLR.
Eu estou ficando pendurado sobre a especificação da ObjectType em C #:
ObjectDataProvider FooSourceDS = new ObjectDataProvider();
FooSourceDS.ObjectType = myNamespace.FooSource;
O Intellisence é identificar corretamente FooSource como um 'tipo' que é o que ObjectType está procurando não é?
Solução
É isso que você precisa?
FooSourceDS.ObjectType = typeof(myNamespace.FooSource)
Outras dicas
A resposta à sua pergunta é o que @Bryan escreveu, mas verifique cruz se você quer um ObjectDataProvider na alavanca de código ou não. ObjectDataProvider é apenas uma maneira XAML de instanciar uma classe particular para a ligação. Mas se você deseja código em C #, então você realmente não requerem ObjectDataProvider. Basta criar uma instância da FooSource e usá-lo.