У меня есть окно с управлением представлением дерева внутри и XML-файл. Я хочу связать древовидное представление с файлом XML полностью из XAML, без какого-либо кода на C #.
Вот как я это делаю сейчас:
XAML
<Window.Resources>
<HierarchicalDataTemplate ItemsSource="{Binding Path=Elements}" x:Key="TreeViewItemData">
<TreeViewItem Header="{Binding Path=Attribute[text].Value}" IsExpanded="True"/>
</HierarchicalDataTemplate>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="40" />
<RowDefinition Height="370*" />
</Grid.RowDefinitions>
<TextBlock Text="RD Admin Tool" Grid.Row="0" FontSize="22" FontWeight="Bold" Padding="50,5"></TextBlock>
<StackPanel Orientation="Horizontal" Grid.Row ="1">
<Border BorderBrush="#FF7C7B7B" BorderThickness="1" Name="tBorder" Width="200" CornerRadius="5" Background="#FFF5F2F2">
<TreeView Name="OptionsTree"
ItemsSource="{Binding Path=Root.Elements}"
ItemTemplate="{StaticResource TreeViewItemData}"
HorizontalAlignment="Left" VerticalAlignment="Top"
Margin="5,0,0,0" FontSize="18" Background="#FFF5F2F2">
</TreeView>
</Border>
<Canvas Name="OptionContent" Width="445">
</Canvas>
</StackPanel>
</Grid>
Конструктор в коде позади :
public MyWindow()
{
InitializeComponent();
XDocument doc = XDocument.Parse(File.ReadAllText(@"C:\Tree.xml"));
this.MyTreeView.DataContext = doc;
}
Но я бы очень хотел написать это из XAML и не иметь никакого кода позади.
Есть предложения?