Встановлення подій WPF у вкладеному списку викидає виняток з посиланням на нуль

Я намагаюся скинути файл у текстове поле, щоб встановити вміст текстового поля шляхом шляху до файлу (другий шаблон DataTemplate). Тому я додав подію DragOver на мій textBox. Але я отримую виняток з посиланням на Null. Я спробував багато інших подій і отримав ту ж помилку. У першому dataTemplate події просто працюють нормально.

Це може бути тому, що мій текстовий блок знаходиться у вкладеному списку. Але я не впевнений.

Будь-яка ідея?

    
    
        
            
                
                    
                        
                            
                            
                            
                            
                            
                            
                        
                        
                            
                            
                        
                           
                        
                        
                        
                        
                        
                        
                    
                    
                        
                        
                            
                            
                            
                            
                            
                        
                        
                            
                            
                        
                        
                        
                        
                        
                        
                        
                        
                    
                    
                
            
        
        
            
                
                    
                        
                            
                                
                                    
                                        
                                        
                                     
                                     
                                     
                                                           
                            
                        
                    
                    
                
            
        
    

1
ви навіть досягаєте точки зупину в AssetPathDragOvers , якщо перетягуєте текстове поле?
додано Автор WPF-it, джерело
Можна спробувати прокоментувати великі області шаблону і повільно додати їх назад, поки не знайдете образи.
додано Автор Erno de Weerd, джерело
Ні, я не досягаю точки зупину. Моя програма негайно обрушується, не перетягуючи нічого. Стек викликів показує, що виняток викидається Windows.FrameworkTemplate.LoadTemplateXaml (...)
додано Автор brako, джерело

3 Відповіді

Дякую,

Вкладені шаблони даних не працюють належним чином. NET 4.0

You can read more about this bug : Official bug report

Моє рішення:

Створити власний селектор шаблонів даних:

public class TemplateSelector : DataTemplateSelector
{
    public DataTemplate UnknownTemplate { get; set; }

    public override DataTemplate SelectTemplate(object item,
               DependencyObject container)
    {
        if (item is PropertiesUnkownModel)
        {
            return UnknownTemplate;
        }
        return UnknownTemplate;
    }
}

Селектор шаблонів у xaml:


і як я його використовую:


1
додано

Я просто зіткнувся з такою ж проблемою (моя була з comboBox і LostFocus подією ). Я можу обійти його, перемістивши біт Event handling до стилю в ResourceDictionary мого перегляду.

Спробуйте щось на зразок цього:

    
        
    

    
1
додано
Так, ідея хороша. Зробити стиль як статичний ресурс вирішує частину проблеми. Але я не можу зробити список списків, вибравши правильний шаблон відповідно до типу об'єкту, що пов'язується.
додано Автор brako, джерело

Для виправлення цієї помилки доступно виправлення .

0
додано