###前提・実現したいこと
WPFでTreeViewを描画するのにXMLファイルを利用したいと考えています。
TreeView上ではXMLファイルのテキストだけを描画し、要素や属性は使わないようにしたいです。
###発生している問題・エラーメッセージ
自分なりに調べて、XMLファイルのテキストを使用したツリーを一応作ることはできました。
しかしノードの縦幅が妙に広くなってしまい、以下の画像のようになってしまいます。
このノードをフォントのサイズに適した幅に修正する方法が知りたいです。
###ソースコード
<Window x:Class="WpfApplication43.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:linq="clr-namespace:System.Xml.Linq;assembly=System.Xml.Linq" Title="MainWindow" Height="350" Width="525"> <Window.Resources> <ObjectDataProvider x:Key="xmlDocument" ObjectType="{x:Type linq:XDocument}" MethodName="Load"> <ObjectDataProvider.MethodParameters> <sys:String>Data\test.xml</sys:String> </ObjectDataProvider.MethodParameters> </ObjectDataProvider> <Style TargetType="{x:Type TreeViewItem}"> <Setter Property="IsExpanded" Value="False" /> </Style> <HierarchicalDataTemplate x:Key="XmlTemplate" ItemsSource="{Binding Path=Elements}"> <TextBlock Name="nameTextBlock" Text="{Binding Path=FirstNode}" /> </HierarchicalDataTemplate> </Window.Resources> <Grid> <TreeView Name="treeView" ItemsSource="{Binding Path=Root.Elements, Source={StaticResource xmlDocument}}" ItemTemplate="{StaticResource XmlTemplate}"/> </Grid> </Window>
XML文
<People> <Tanaka> 田中 <Human> ツヨシ <Age> 25 </Age> <Gender> 男 </Gender> </Human> <Human> マコト <Age> 22 </Age> <Gender> 男 </Gender> </Human> </Tanaka> <Satou> 佐藤 <Human> ミユキ <Age> 24 </Age> <Gender> 女 </Gender> </Human> <Human> ヒロシ <Age> 19 </Age> <Gender> 男 </Gender> </Human> </Satou> </People>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/18 11:29