WPF: поле со списком в TreeviewItem

Я новичок в WPF, поэтому извините за глупый вопрос.

Можно ли показать поле со списком рядом с выбранным TreeViewItem?

Мне нужно что-то вроде показанного на левом рисунке по следующей ссылке: http://www.mypicx.com/03242009/Combobox_in_TreeviewItem/

Я пытался сделать так:

<TreeView Name="treeView1">
<TreeViewItem Header="aaa">
<ComboBox Height="19">
<ComboBoxItem Content="111" IsSelected="True"></ComboBoxItem>
<ComboBoxItem>222</ComboBoxItem>
<ComboBoxItem Content="333"></ComboBoxItem>
</ComboBox>
<TreeViewItem Header="aaa1">
</TreeViewItem>
<TreeViewItem Header="aaa2">
</TreeViewItem>
</TreeViewItem>
<TreeViewItem Header="bbb">
<TreeViewItem Header="bbb1" />
<TreeViewItem Header="bbb2" />
</TreeViewItem>
<TreeViewItem Header="ccc" />
</TreeView>

и результат вы видите на правом рисунке.

А пока мне нужно знать, как это сделать визуально. Позже мне нужно что-то сделать с событием SelectedItemChanged.

Заранее спасибо!

P.S. извините за мой английский


person Community    schedule 25.03.2009    source источник


Ответы (2)


Что вам нужно сделать, так это поместить поле со списком в заголовок, например

<TreeView Name="treeView1">
    <TreeViewItem>
        <TreViewItem.Header>
            <StackPanel Orientation="Horizontal">
                <ComboBox Height="19">
                    <ComboBoxItem Content="111" IsSelected="True"></ComboBoxItem>
                    <ComboBoxItem>222</ComboBoxItem>
                    <ComboBoxItem Content="333"></ComboBoxItem>
                </ComboBox>
            </StackPanel>
        </TreViewItem.Header>
        <TreeViewItem Header="aaa1">
        </TreeViewItem>
        <TreeViewItem Header="aaa2">
        </TreeViewItem>
    </TreeViewItem>
    <TreeViewItem Header="bbb">
        <TreeViewItem Header="bbb1" />
        <TreeViewItem Header="bbb2" />
    </TreeViewItem>
    <TreeViewItem Header="ccc" />
</TreeView>
person dustyburwell    schedule 25.03.2009

Используйте ItemTemplate. http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/ec6781bb-a81d-4204-bc13-937683110b0d/

person wekempf    schedule 25.03.2009