data-binding - 依赖属性上的 Caliburn 微绑定
问题描述
我有一个带有以下 DP 的自定义控件:
public FrameworkElement NoResultContent
{
get { return (FrameworkElement)GetValue(NoResultContentProperty); }
set { SetValue(NoResultContentProperty, value); }
}
public static readonly DependencyProperty NoResultContentProperty =
DependencyProperty.Register("NoResultContent", typeof(FrameworkElement), typeof(AdvancedAutoCompleteBox), new PropertyMetadata(null));
我的自定义控件的 ControlTemplate 在 ContentControl 中显示了这个 DP:
<ContentControl Content="{TemplateBinding NoResultContent}" />
它用于提供任意功能的视图:
<Controls:AdvancedAutoCompleteBox
x:Name="Box"
ItemsSource="{Binding Persons}"
SelectedItem="{Binding SelectedPerson}"
Watermark="Search here">
<Controls:AdvancedAutoCompleteBox.NoResultContent>
<StackPanel>
<Button
Content="Add by ICommand"
Command="{Binding AddPerson}" />
<Button
x:Name="AddPerson"
Content="Add by Caliburn" />
</StackPanel>
</Controls:AdvancedAutoCompleteBox.NoResultContent>
</Controls:AdvancedAutoCompleteBox>
与 ICommand 的命令绑定工作得很好。购买为什么它不能与 Caliburn.Micro 一起使用?我还尝试通过 cal:Bind.Model 手动将上下文附加到第二个 Button