我有UserControl对多个演示文稿进行过滤,而这些演示文稿又有一个ContentControl。内容是各个过滤控件,它们在演示文稿中有所不同。
该方案在视觉上按预期工作,但数据绑定不能。输出中没有数据绑定错误。 DataContext来自视图模型调用PimMasterVm,否则看起来正确连线(即5个有用人员的状态等)
有人可以帮我解决这个问题吗?
干杯,
Berryl
<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>
答案 0 :(得分:3)
“ctrlFilters”ContentControl的 DataContext 中有当前视图模型,将其绑定到内容属性:
...
<ContentControl x:Name="ctrlFilters"
Content="{Binding}"
ContentTemplate="{Binding Path=FilterContentKey, Converter={StaticResource filterTemplateContentConv}}" />
...