1

如何在下面的代码中构建控件?

            <StackPanel>
                <!-- Принципиальные схемы -->
                <ContentPresenter Content="{Binding principlies}" Grid.Row="4" Grid.Column="1" 
                              ContentTemplate="{StaticResource ProjectContentExpander}">
                    <ContentPresenter.Resources>
                        <Style TargetType="{x:Type TextBlock}" BasedOn="{StaticResource principlies}"/>
                    </ContentPresenter.Resources>
                </ContentPresenter>
            </StackPanel>

错误:在 FrameworkTemplate 中,ContentPresenter 和 GridViewRowPresenter 不能相互包含或独占。如果您删除样式块,错误就会消失。

4

2 回答 2

1

我假设原则是 xaml 中定义的 DataTemplate 的 ax:Key,但不能将 DataTemplate(继承 FrameworkTemplate)设置为内容。这就是为什么你会得到这个例外。此外,ContentPresenter.Content 属性是数据绑定的原则,它期望来自源的 DependencyObject 或数据项。

如果我误解了你的问题,请原谅。提供更多的 xaml 肯定会带来一些启示。

问候

于 2012-04-05T12:30:31.307 回答
0
          <StackPanel>
                <Border>
                    <ContentPresenter Content="{Binding principlies}" 
                                  ContentTemplate="{StaticResource ProjectContentExpander}">
                        <ContentPresenter.Resources>
                            <Style TargetType="{x:Type TextBlock}" BasedOn="{StaticResource principlies}"/>
                        </ContentPresenter.Resources>
                    </ContentPresenter>
                 </Border> 
          </StackPanel>

解决问题

于 2012-04-06T10:10:23.100 回答