WPF - Могу ли я использовать константу для имени ключа ресурса? - PullRequest
3 голосов
/ 05 июля 2011
<DataTemplate x:Key="MyTemplate" DataType="{x:Type l:MyViewModel}">
    <l:MyView />
</DataTemplate>

Можно ли как-нибудь заменить "MyTemplate" значением из моего класса?

public sealed class MyTemplateSelector : DataTemplateSelector
{
    public const string TemplateName = "MyTemplate";

    //I use the TemplateName const to retrieve the correct DataTemplate
}

Ответы [ 2 ]

10 голосов
/ 05 июля 2011
<DataTemplate x:Key="{x:Static l:MyTemplateSelector.TemplateName}"
              DataType="{x:Type l:MyViewModel}">
    <l:MyView />
</DataTemplate>
1 голос
/ 05 июля 2011

как насчет того, чтобы оставить этот x: Key, и это будет DataTemplate по умолчанию для вашего типа l: ViewModel?

не уверен, что вы можете связать / связать свой ключ с определенными свойствами

...