我有UserControl中的DependencyProperty问题。我的控件公开了两个Dependencyproperties,一个布尔和一个字符串。字符串属性起作用,但布尔没有。我没有得到任何的错误,但是改变并没有反映出来。UserControl中的DependencyProperty布尔
我定义属性是这样的:
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); }
}
在XAML对于i结合属性这样的用户控制:
<CheckBox
Name="IncludeSubdirectoriesCheckbox"
IsChecked="{Binding Path=IncludeSubdirectories, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
Include subfolders</CheckBox>
当我使用控制I结合到属性如下:
<Controls:DirectorySelect
Directory="{Binding Directory}"
IncludeSubdirectories="{Binding WatchSubDirs}"/>
“目录”是字符串属性,工作得很好。我以同样的方式将他们绑定到他们身上,但我无法让布尔工作。
我哪里出错了?
你怎么看该变化没有反映出来?你有没有在'WatchSubDirs'而不是'IncludeSubdirectoriesProperty'本身设置断点? 'WatchSubDirs' DP还是简单的属性? – sll
VS在编译时不会发出信号,但在Visual Studio的Output窗口上打印日志信息。总是写些东西。在所有其他的事情中,你会发现绑定失败,转换失败或其他任何错误... – Tigran
我不知道输出窗口中的状态消息。这有助于很多:)谢谢。 – SimonHL