数据模板中的数据绑定不起作用

Ber*_*ryl 3 data-binding silverlight wpf datatemplate

我有 UserControl 对几个演示文稿进行过滤,而这些演示文稿又具有一个 ContentControl。内容是在演示文稿中不同的单独过滤控件。

该方案在视觉上按预期工作,但数据绑定没有。输出中没有数据绑定错误。DataContext 来自调用 PimMasterVm 的视图模型,否则它看起来是正确连接的(即 5 个可用人员的状态等)

有人可以帮我解决这个问题吗?

干杯,
贝瑞尔

过滤控制

在此处输入图片说明

<Grid>
    <Border Style="{StaticResource FilterPanelBorderStyle}">
        <StackPanel Orientation="Horizontal" x:Name="myFilterPanel" >
            <ContentControl x:Name="ctrlFilters" 
                            ContentTemplate="{Binding Path=FilterContentKey, Converter={StaticResource filterTemplateContentConv}}" />
            <Button x:Name="btnClearFilter" Style="{StaticResource FilterPanelClearButtonStyle}" />
            <Label x:Name="lblStatus" Style="{StaticResource FilterPanelLabelStyle}" Content="{Binding Status}" />

        </StackPanel>
    </Border>

</Grid>
Run Code Online (Sandbox Code Playgroud)

数据模板(资源)

<DataTemplate x:Key="pimFilterContent">
    <StackPanel Orientation="Horizontal" >
        <cc:SearchTextBox x:Name="stbLastNameFilter" 
            Style="{StaticResource FilterPanelSearchTextBoxStyle}"
            Text="{Binding Path=LastNameFilter, UpdateSourceTrigger=PropertyChanged}" 
                        />
        <cc:SearchTextBox x:Name="stbFirstNameFilter" 
            Style="{StaticResource FilterPanelSearchTextBoxStyle}"
            Text="{Binding Path=FirstNameFilter, UpdateSourceTrigger=PropertyChanged}" 
                        />
    </StackPanel>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

Vla*_*hov 5

“ctrlFilters”ContentControl 的DataContext中有当前视图模型,将其绑定到Content属性:

...

    <ContentControl x:Name="ctrlFilters" 
                    Content="{Binding}"
                    ContentTemplate="{Binding Path=FilterContentKey, Converter={StaticResource filterTemplateContentConv}}" />

...    
Run Code Online (Sandbox Code Playgroud)