0

Generic.xamlで定義されたリソースがあるカスタムコントロールがあります。実行時にデータテンプレートを作成する必要があります。

xaml = "<DataTemplate><TextBlock Text=\"{Binding " + Binding + "}\"/></DataTemplate>";

これは正常に機能しますが、テンプレートが他のリソースにアクセスする場合、私は立ち往生しています。

xaml = "<DataTemplate><TextBlock Text=\"{Binding " + Binding +
                      "}\" Margin=\"{Binding Bar, Converter={StaticResource MyConverter}, RelativeSource={RelativeSource AncestorType={x:Type local:Foo}}}\"/></DataTemplate>";

コンバーターとRelativeSourceの両方で問題が発生します。

「テキスト「local:Foo」から「タイプ」を作成できませんでした。」または「「MyConverter」という名前のリソースが見つかりません。」コードで作成しようとしているデータテンプレートが代わりにGeneric.xamlで定義されており、TemplateSelectorで選択されている場合は機能します。

4

1 に答える 1

0

また、datatemplateでリソースを定義する必要があります。

 <DataTemplate xmlns:local="clr-namespace:WpfApplication2">
        <DataTemplate.Resources>
            <local:MyConverter x:Key="MyConverter"/>
        </DataTemplate.Resources>
        <TextBlock Text="{Binding }"/>
    </DataTemplate>

C#サポート形式に変換してください。

于 2013-01-28T03:06:03.223 に答える