UserControlのDependencyPropertyに問題があります。私のコントロールは、2つのDependencyproperties、boolとstringを公開しています。文字列プロパティは機能しますが、boolは機能しません。私にはエラーはありませんが、変更はどちらにも反映されません。DependencyProperty UserControlのbool
私はこのようなプロパティを定義します。
<CheckBox
Name="IncludeSubdirectoriesCheckbox"
IsChecked="{Binding Path=IncludeSubdirectories, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
Include subfolders</CheckBox>
とするとき、私はにバインドコントロールを使用します。私はこのようなプロパティにバインドするユーザーコントロールのXAMLで
private static readonly DependencyProperty IncludeSubdirectoriesProperty =
DependencyProperty.Register(
"IncludeSubdirectories",
typeof(bool),
typeof(DirectorySelect),
new FrameworkPropertyMetadata(false) { BindsTwoWayByDefault = true }
);
public bool IncludeSubdirectories
{
get { return (bool) GetValue(IncludeSubdirectoriesProperty); }
set { SetValue(IncludeSubdirectoriesProperty, value); }
}
<Controls:DirectorySelect
Directory="{Binding Directory}"
IncludeSubdirectories="{Binding WatchSubDirs}"/>
"ディレクトリ"はうまく動作する文字列プロパティです。私は同じ方法でそれらの両方にバインドしますが、私はちょうどboolの仕事をすることはできません。
どこが間違っていましたか?
を助け
希望を何が起こるかouputをウィンドウを見て
を警告=データバインディングのツール - >オプション - >デバッグ:>出力ウィンドウ でWPFトレース設定を変更しますその変更は反映されていませんか? 'IncludeSubdirectoriesProperty'自体ではなく、' WatchSubDirs'にブレークポイントを設定しようとしましたか? 'WatchSubDirs' DPか単純なプロパティですか? – sll
VSはコンパイル時に通知しませんが、Visual Studioの出力ウィンドウにログ情報を出力します。常に何かが書かれています。他のすべてのものの中で、失敗したバインディング、失敗した変換などのエラーを見つける必要があります。 – Tigran
出力ウィンドウのステータスメッセージについてはわかりませんでした。それは多くの:)おかげで役立ちます。 – SimonHL