0

ツリービュー(左側)とラップパネル(右側)があります。XMLDataProviderのTreeview表示コンテンツXMLファイルは次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<Documents>
  <DocFolder Name="Folder">
    <DocFolder DocFolderName="Subfolder">
      <DocItem DocItemName="item" />
    </DocFolder>
  </DocFolder>
</Documents>

{Binding ElementName=treeView1, Path=SelectedItem}選択された要素のタイプ(DocFolderまたはDocItem)に応じて、TreeViewで選択されたアイテムにバインドされたWrapPanelに異なるコンテンツを表示することは可能ですか?

4

2 に答える 2

0

ワープパネルを選択したTreeViewアイテムのDataContextにバインドし、2つの型指定されたDataTemplatesを使用して、異なるコンテンツを自動的に表示した場合はどうなりますか?つまり{Binding ElementName=treeView1, Path=SelectedItem.DataContext}

于 2012-08-14T13:56:01.627 に答える
0

多分そのような何か?

<Control DataContext="{Binding ElementName=treeView1, Path=SelectedItem}"
         Template="{Binding ElementName=treeView1, Path=SelectedItem,
                Converter={StaticResource selectedItemToDataTemplateConverter}}" />

...そしてコンバーターのコード:

public class SelectedItemToDataTemplateConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, 
                                                         CultureInfo culture)
    {
        if (value is DocFolder)
        {
           return new DocFolderUC(); // Your user control to display DocFolders..
        }
        else if (value is DocItem)
        {
           return new DocItemUC(); // Your user control to display DocItems..
        }
        [...]
于 2012-08-14T12:34:50.060 に答える