1

我在 Window Phone 8.1 应用程序中使用 DataTemplateSelector,并希望为我的 ContentControl 的父 DataContext 添加特定的 DataTemplate。但在 SelectTemplateCore 中 container.Parent 始终为空。你能帮我找到想要的解决方案吗?

public class EmptyDataTemplateSelector : DataTemplateSelector
{
    public DataTemplate EmptyDataTemplate { get; set; }
    public DataTemplate BaseDataTemplate { get; set; }
    public DataTemplate ExportedDataTemplate { get; set; }

    protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)
    {
        if (item == null || (item is string && string.IsNullOrWhiteSpace((string)item)))
        {
           var parent = VisualTreeHelper.GetParent(container); //always null
           if ((parent as Grid).DataContext is Trip && ((parent as Grid).DataContext as Trip).IsExported)
               return ExportedDataTemplate;
           return EmptyDataTemplate;
        }            
        return BaseDataTemplate;
    }

EmptyDataTemplateSelector 用于网格内的简单 ContentControl。

4

0 回答 0