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を包括的または排他的に相互に含めることはできません。Styleブロックを削除すると、エラーは消えます。

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 に答える