2019年11月29日 - WPF-ブラシは、考えられる原因を拘束されていません

オリジナル: 2019年11月29日のブラシWPFは-可能性のある原因を拘束するものではありません

題名 著者 日付 CREATETIME カテゴリ
WPFのブラシは、考えられる原因を拘束するものではありません
lindexi
2019年11月29日午前八時46分22秒0800
2019年9月18日9:2:33 0800
WPF

すべてのブラシを使用しているなど、背景色、と結合しないことがありますバインディングを使用した場合WPFでは、用紙が原因とデバッグ手法にバインドを教えていません

次のように彼の背景は彼のコードに結合されていない理由小さなパートナーは私に尋ねました

    < ウィンドウ .resourcesファイルは> 
        < ローカルStateToColorConverterは xはキー = " StateToColorConverter " > </ ローカルStateToColorConverter > 
    </ ウィンドウ .resourcesファイル> 
    < グリッド > 
        < グリッド 背景 = " {バインディングパス=幅、コンバータ= {StaticResource StateToColorConverter}} " > </ グリッド > 
    </ グリッド >

ここで、次のバックグラウンドコード

    パブリック 部分 クラスの メインウィンドウウィンドウ 
    { パブリックメインウィンドウ()
        { のInitializeComponent();
            DataContextのは= この ; 
        } 
    } パブリッククラスStateToColorConverterIValueConverter 
    { パブリックオブジェクト変換オブジェクトタイプたtargetTypeオブジェクトパラメータのCultureInfoの培養
        { スイッチ
         
              

      
              
            
            { デフォルト戻りブラシ透明 ; 
            } 
        } パブリックオブジェクトConvertBackオブジェクトタイプたtargetTypeオブジェクトパラメータのCultureInfoの培養
        { スロー新しいNotImplementedExceptionを()。
        } 
    }
               
                 

              
              

これは簡易版です

その理由は、戻り値のジュニアパートナーが所望の値と背景色ブラシ従ってに結合されていないでコンバータに結合することです

この修正は、カラーブラシを返すことができる戻らないことです

デバッグXAMLは、オプションはVisualStudioをバインディング情報の出力でオンになってバインドすることができます

ツールオプションのデバッグ出力ウィンドウでは、出力が結合見ることができ、この用語は、上記のコードのように詳細なデバッグ情報の多くは、戻り値の出力を結合する出力に設定することができます


   
   
  1. System.Windows.Data Information: 10 : Cannot retrieve value using the binding and no valid fallback value exists; using default instead. BindingExpression:Path=Width; DataItem= null; target element is 'Grid' (Name= ''); target property is 'Background' (type 'Brush')

何を翻訳

システムWindowsのデータ 情報10:値を使用することに失敗したバインディング設定されていない一方で、戻り値を受け入れるように結合されていない、デフォルト値が代わりに使用されます。結合式はパス= のデータ項目のはどの要素が結合されていないされているグリッドのプロパティを結合している背景このプロパティのタイプは、ブラシタイプ

あなたはいつものVisualStudioを設定する必要がない場合に使用することができますどのようにWPFバインディングデバッグを

おすすめ

転載: www.cnblogs.com/lonelyxmas/p/12075850.html