0

DataContextを介してtreeviewitemのヘッダーを設定すると、クリック可能な数ピクセルのパディングが追加され、クリックできないテキストが配置されます。画像を投稿します。青:クリック可能、赤:クリック不可。

データを格納するクラス:

public class TagClass
{
    public string TagClassMagic { get; set; }
    public ITagClass RawClass { get; set; }
    public List<TagEntry> TagEntries = new List<TagEntry>();

    public IList Children
    {
        get
        {
            return new CompositeCollection()
                {
                    new CollectionContainer() { Collection = TagEntries }
                };
        }
    }

}
public class TagEntry
{
    public string TagFileName { get; set; }
    public ITagEntry RawTag { get; set; }
}

データを表示するためのXAML:

<TreeView x:Name="tvTagList" Margin="15, 40, 15, 50" ItemsSource="{Binding}" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Background="{x:Null}" BorderBrush="{DynamicResource ExtryzeAccentBrushSecondary}" BorderThickness="2" ScrollViewer.CanContentScroll="True" Foreground="White">
    <TreeView.Resources>
        <HierarchicalDataTemplate DataType="{x:Type  DataBind:TagClass}" ItemsSource="{Binding Children}" >
            <TreeViewItem Header="{Binding TagClassMagic}" />
        </HierarchicalDataTemplate>
        <HierarchicalDataTemplate DataType="{x:Type DataBind:TagEntry}"  >
            <TreeViewItem Header="{Binding TagFileName}" />
        </HierarchicalDataTemplate>
    </TreeView.Resources>
</TreeView>
4

1 に答える 1

2

これを削除してみてください:

<TreeViewItem Header="{Binding TagClassMagic}" />
<TreeViewItem Header="{Binding TagFileName}" />

代わりに、それに応じてTagEntryのデータテンプレートを追加します-これらのデータテンプレートに単純なテキストブロックを配置します

于 2012-08-01T14:00:29.917 に答える