題名 | 著者 | 日付 | 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のは= この ;
}
} パブリッククラスStateToColorConverter:IValueConverter
{ パブリックオブジェクト変換(オブジェクト値、タイプたtargetType、オブジェクトパラメータ、のCultureInfoの培養)
{ スイッチ
(値)
{ デフォルト:
戻りブラシ。透明。色 ;
}
} パブリックオブジェクトConvertBack(オブジェクト値、タイプたtargetType、オブジェクトパラメータ、のCultureInfoの培養)
{ スロー新しいNotImplementedExceptionを()。
}
}
これは簡易版です
その理由は、戻り値のジュニアパートナーが所望の値と背景色ブラシ従ってに結合されていないでコンバータに結合することです
この修正は、カラーブラシを返すことができる戻らないことです
デバッグXAMLは、オプションはVisualStudioをバインディング情報の出力でオンになってバインドすることができます
ツールオプションのデバッグ出力ウィンドウでは、出力が結合見ることができ、この用語は、上記のコードのように詳細なデバッグ情報の多くは、戻り値の出力を結合する出力に設定することができます
-
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バインディングデバッグを