我有一个从 Window 派生的简单视图。在该派生类的代码隐藏文件中,我定义了一个名为 ActiveDocument 的新 DependencyProperty。
我希望将此新的 DependencyProperty 绑定到 ViewModel 上的属性,该属性设置为视图的 DataContext。
我可以使用类构造函数中的代码设置此绑定,但尝试绑定 XAML 文件中的属性会导致错误消息指出在类 Window 上找不到属性 ActiveDocument。
在 XAML 中执行此操作的正确语法是什么?
[更新代码]
MainWindowViewModel.cs
class MainWindowViewModel
{
public bool IWantBool { get; set; }
}
主窗口.xaml.cs
public partial class MainWindow : Window
{
public MainWindow()
{
DataContext = new MainWindowViewModel();
InitializeComponent();
}
public static readonly DependencyProperty BoolProperty = DependencyProperty.Register(
"BoolProperty", typeof(bool), typeof(MainWindow));
}
主窗口.xaml
<Window x:Class="DependencyPropertyTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:DependencyPropertyTest"
<!-- ERROR: BoolProperty not found on type Window. -->
BoolProperty="{Binding path=IWantBool}"
<!-- ERROR: Attachable property not found in type MainWindow. -->
local:MainWindow.BoolProperty="{Binding path=IWantBool}">
<Grid>
</Grid>
</Window>