1

WPF アプリケーションで DataTemplateSelector を使用する場合、どのようなユーザー アクションが DataTemplateSelector.SelectTemple をトリガーしますか? そして、「オブジェクト項目」には何が渡されますか?

public class ProductTypeTemplateSelector : DataTemplateSelector
{
    public DataTemplate OrangeTemplate { get; set; }
    public DataTemplate AppleTemplate { get; set; }

    public override DataTemplate SelectTemplate(object item,
      DependencyObject container)
    {
        string product_type = (string)item;
        if (product_type == "orange")
            return OrangeTemplate;
        else
            return AppleTemplate;
    }
}

質問は締め切りました。私のような他の新人が検索できるようにタイトルを更新しました。

4

2 に答える 2

0

一部のコントロール (ItemsControlたとえば) は、DataTemplateSelector を指定できるプロパティを公開します。

コントロールがレンダリングさSelectTemplateれると、コントロール内の各項目に対して呼び出されます。パラメーターはテンプレート化されたitemオブジェクト自体であり、コントロールによって異なります。たとえば、グリッド内のセルやリスト内のアイテムなどです。

結論として、それをトリガーする必要はありません。メソッドは単にコントロールによって呼び出されます。

ContentTemplateSelector同じ考えで、 sもあります。

于 2013-10-22T23:40:44.057 に答える