Telerik управляет из radtreeview: Как подсчитать все узлы родительского узла и отредактировать содержимое дерева?
Я пытаюсь создать пользовательский элемент управления, который автоматически заполняет содержимое представления Radtree в текстовых полях. Пользовательский элемент управления должен позволять мне получать счетчик всех узлов под родительским узлом, и он должен позволять мне редактировать содержимое древовидной структуры через текстовое поле в пользовательском элементе управления, и эти изменения должны отражаться в дереве. Может кто-нибудь помочь?
UserControl XAML код:
UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:TreeviewUControl"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" x:Class="TreeviewUControl.UserControl1"
mc:Ignorable="d"
d:DesignWidth="300" Height="350">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="200"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="50"/>
<RowDefinition Height="50"/>
</Grid.RowDefinitions>
<!-- <Label Content="this is test" Name="testLbl" /> -->
<Label x:Name="Name" Grid.Row="0" Content="Name" Margin="10"/>
<Label x:Name="Services" Grid.Row="1" Content="Services" Margin="10" />
<Label x:Name="Scripts" Grid.Row="2" Content="Scripts" Margin="10" />
<Label x:Name="Scenarios" Grid.Row="3" Content="Scenarios" Margin="10" />
<telerik:RadWatermarkTextBox x:Name="ProjectName" Grid.Column="1" HorizontalAlignment="Left" Margin="10" Text="RadWatermarkTextBox" Width="150" TextChanged="projectnameChanged"/>
<telerik:RadWatermarkTextBox x:Name="radWatermarkTextBox1" Grid.Column="1" HorizontalAlignment="Left" Margin="10" Grid.Row="2" Text="RadWatermarkTextBox" Width="150" />
<telerik:RadWatermarkTextBox x:Name="radWatermarkTextBox2" Grid.Column="1" HorizontalAlignment="Left" Margin="10" Grid.Row="3" Text="RadWatermarkTextBox" Width="150" />
<telerik:RadButton x:Name="radButton" Content="Save changes" HorizontalAlignment="Left" Height="37" Grid.Row="3" VerticalAlignment="Top" Width="88" Click="Savechanges" Margin="10,117,0,-103"/>
<telerik:RadButton x:Name="radButton1" Content="Export" Grid.Column="1" HorizontalAlignment="Left" Height="37" Grid.Row="3" VerticalAlignment="Top" Width="88" Margin="38,117,0,-103"/>
</Grid>
</UserControl>
mainwindowXaml.cs:
public partial class MainWindow : Window
{
private string selectedPath;
public MainWindow()
{
InitializeComponent();
}
private void treenodeclick(object sender, System.EventArgs e)
{
UserControl1 uc = new UserControl1();
Stakname.Children.Add(uc);
selectedPath = RadTreeView.SelectedValuePath;
uc.ProjectName.Text = RadTreeView.SelectedItem.ToString();
}
Главное окно xaml