首页 > 解决方案 > 依赖属性上的 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

标签: data-bindingcaliburn.micro

解决方案


推荐阅读