我有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