0

WPFアプリケーションで次のことを試しています。

XAML要素の構造。

DataTemplate[Data Type 'A']
    Grid
       Broder
          TextBlock

テキストブロックのtextプロパティを、XAMLのリソースディクショナリで参照されている「Users」クラスから派生した「文字列」にバインドしたいと思います。

  1. したがって、上記の構造では、DataTemplateはデータ型「A」からフィードを取得するためです。

  2. datacontext(Users)をグリッドに割り当て、文字列をテキストブロックにバインドしたいと思います。

データコンテキストをグリッド、ボーダー、またはテキストブロックに割り当てることを含むすべての試行が機能しないため、これを達成する方法はありますか?

私のアプローチがここで間違っている場合、誰かが私を提案したり、私を修正したりできますか?

4

1 に答える 1

3

このマークアップで十分です。

<DataTemplate DataType="{x:Type local:A}">
    <Grid DataContext="{Binding Path=Users}">
        <Border>
            <TextBlock Text="{Binding Path=PropertyOnUsers}"/>
        </Border>
    </Grid>
</DataTemplate>

Xaml の先頭で名前空間が宣言されていることを確認してください。何らかの理由で、使用しない場合、WPF は型からテンプレートを常に自動的に推測するとは限りません{x:Type ...}

そこからはまっすぐ進むべきです。

Users がコレクションの場合、特定の User インスタンスを取得するには、コレクションをドリルダウンする必要があります。

ちなみに、Visual Studio を使用している場合は、出力ウィンドウを使用してバインドの問題をデバッグできます。

于 2012-10-18T20:33:29.517 に答える