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

时间:2011-09-21 12:31:00

标签: wpf silverlight data-binding datatemplate

我有UserControl对多个演示文稿进行过滤,而这些演示文稿又有一个ContentControl。内容是各个过滤控件,它们在演示文稿中有所不同。

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

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

干杯,
Berryl

过滤控制

enter image description here

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

数据模板(资源)

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

1 个答案:

答案 0 :(得分:3)

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

...

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

...