ComboBox с TreeView - PullRequest
       1

ComboBox с TreeView

0 голосов
/ 12 января 2012

Мне нужно создать пользовательский элемент управления, такой как Combobox.В пунктах нуждаются TreeView и кнопка.Если я перемещаюсь по Дереву, Предмет должен перейти в Текстовое поле снизу.Если я нажму на кнопку, дерево рухнет.Моя первая идея была такой, но она не очень хорошая.

    <StackPanel Orientation="Vertical">
        <StackPanel  Orientation="Horizontal">
            <TextBox Text="{Binding Adresse, Mode=TwoWay}" MaxLength="50" MinWidth="170" Grid.Row="5" Margin="5,2,5,2"/>
            <Button  Width="25" Margin="2"  Click="Down">
                <Image Source="/C1_net;component/Images/arrow.jpg" HorizontalAlignment="Left" />
            </Button>               

        </StackPanel>
        <StackPanel x:Name="Tree"  Orientation="Vertical" Visibility="Collapsed">                
            <sdk:TreeView Height="200" Name="treeView1" Width="200" />
            <Button Content="{Binding Path=ApplicationStrings.OKButton, Source={StaticResource ResourceWrapper}}" Width="75" Margin="5" Click="OnOk" HorizontalAlignment="Right"/>

        </StackPanel>

    </StackPanel>

</Grid>

Если я переключаюсь на Visible, Control требуется больше места.Так что мне нужно принести дерево перед остальной частью окна.Есть идеи?

1 Ответ

0 голосов
/ 13 января 2012

Хорошо.

Я думаю, вам стоит вернуться к своему взаимодействию.

Моя проблема - подумать, если я выберу i Item, дерево будет закрыто.Я буду перемещаться в Hirarchical DataObjekt и помещать путь как выбранный элемент.Так что теперь я буду к тому, что вот так:

public interface ITreeViewItemModel
{
    string SelectedValuePath { get; }

    bool IsExpanded { get; set; }

    bool IsSelected { get; set; }

    IEnumerable<ITreeViewItemModel> GetHierarchy();
    IEnumerable<string> GetDisplayHierarchy();
    IEnumerable<ITreeViewItemModel> GetChildren();
}

и.

public class ComboBoxTreeView : ComboBox
{
    private ExtendedTreeView _treeView;
    private ContentPresenter _contentPresenter;

    public ComboBoxTreeView()
    {
        this.DefaultStyleKey = typeof(ComboBoxTreeView);
    }

......

Я нашел это http://vortexwolf.wordpress.com/2011/04/29/silverlight-combobox-with-treeview-inside/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...