none
Стили TreeView в WPF RRS feed

  • Вопрос

  • Здравствуйте, я пытаюсь понять, как применить разные стили к разного уровня элементов TreeView. Основные элементы должны быть текстовыми, а вложенные - текст+картинка. В сети много примеров, но все они обрывочны и у меня не получается составить целый работающий код. 

    Как я уже понял, должно быть два класса, описывающие корневой и дополнительный элементы, наподобие того, что ниже:

    Public Class ClassBase
    Public Property Text() As String
    Get
    Return m_Text
    End Get
    Set(value As String)
    m_Text = Value
    End Set
    End Property
    Private m_Text As String
    End Class

    Public Class Class1
    Inherits ClassBase
    Public Property Text2() As String
    Get
    Return m_Text2
    End Get
    Set(value As String)
    m_Text2 = value
    End Set
    End Property
    Private m_Text2 As String

    Public Property Image2() As Image
    Get
    Return m_Image2
    End Get
    Set(value As Image)
    m_Image2 = value
    End Set
    End Property
    Private m_Image2 As Image

    End Class


    Также нужен теплейт в ресурсах для первого и второго элемента, как сделано ниже:

    <DataTemplate x:Key="TView">
    <Grid d:DesignWidth="110" d:DesignHeight="38">
    <Label Content="Label" HorizontalAlignment="Left" VerticalAlignment="Top"/>
    </Grid>
    </DataTemplate>
    <DataTemplate x:Key="TView2">
    <Grid d:DesignWidth="172" d:DesignHeight="60">
    <Image HorizontalAlignment="Left" Height="60" VerticalAlignment="Top" Width="100"/>
    <Label Content="Label" HorizontalAlignment="Right" VerticalAlignment="Top"/>
    </Grid>
    </DataTemplate>

    Ну и само дерево, конечно:

    <TreeView HorizontalAlignment="Left" Height="247" Margin="251,10,0,0" VerticalAlignment="Top" Width="208"/>

    Но я понять не могу, каким образом эти три части связать вместе, чтобы у меня добавлялись для первого уровня строки, а для второго - фотографии с текстом. Может кто-нибудь помочь?


    Aleksey

Ответы