ネストされたリスト内のWpf設定イベントがnull参照例外をスローする

私はファイルのパス(2番目のDataTemplate)でテキストボックスの内容を設定するために、テキストボックスにファイルをドロップしようとしています。 だから私は、テキストボックスにDragOverイベントを追加しました。しかし、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
追加された

私はちょうど同じ種類の問題に遭遇しました(私は comboBoxLostFocusイベントを使用していました)。ビューの ResourceDictionary のスタイルにイベント処理ビットを移動することで回避できます。

次のようなことを試してください:

    
        
    
    
1
追加された
はい、そのアイデアは良いです。静的リソースとしてのスタイルを作成すると、問題の一部が解決されます。しかし、バインドされたオブジェクトのタイプに応じてリストボックスに正しいテンプレートを選択させることはできません。
追加された 著者 brako,

このバグを修正するための修正プログラムがあります。

0
追加された