1

Window Phone 8.1 アプリケーションで DataTemplateSelector を使用しており、ContentControl の親 DataContext に特定の DataTemplate を追加したいと考えています。ただし、container.Parent は SelectTemplateCore では常に null です。希望する解決策を教えていただけますか?

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