using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Shapes;using System.Threading.Tasks;using Telerik.Windows.Controls;namespace My.Controls{ /// <summary> /// Interaction logic for RadSalesPersonRCS1.xaml /// </summary> public partial class RadSalesPersonRCS1 : Window { public RadSalesPersonRCS1() { InitializeComponent(); } }}private void MenuItem_ViewSalesPerson(object sender, RoutedEventArgs e) { RadSalesPersonRCS1 salesperson = new RadSalesPersonRCS1(); RadSalesPersonRCS1.ShowDialog(); }Currently the tree is working properly so that if you highlight a tree item and click the OK button on the view, all is good. However, I need to also allow the user to double click on one of the tree items. This means I already have a command and method, protected override void OkAction(), in my view model with the needed logic. Telerik supplies a property called ItemDoubleClick that is supposed to supply functionality for the tree item double click. But I can't find anything to allow me to do this in the view model. In other words, how do I do the binding? We also have a behavior setup in our project for double clicking that I was told I could use, but I have no experience with behaviors. I'm still a little wet with WPF.
I would appreciate any help or direction anyone can provide.
XAML for NodeTemplate:
<Grid.Resources>
<DataTemplate x:Key="WidgetTemplate">
<StackPanel Orientation="Horizontal">
<Image Source="/Resources/gear1.png" Margin="1" Stretch="None" />
<TextBlock Text="{Binding Name}" VerticalAlignment="Center" Margin="6,0,0,0" />
</StackPanel>
</DataTemplate>
<HierarchicalDataTemplate x:Key="NodeTemplate" ItemsSource = "{Binding Children}" ItemTemplate="{StaticResource WidgetTemplate}">
<TextBlock Text="{Binding Name}"/>
</HierarchicalDataTemplate>
</Grid.Resources>
<GroupBox Header="{Binding Source={StaticResource Lang}, XPath=SettingsVerbindungen/@Header}" Grid.Row="3" Style="{DynamicResource GroupboxStyleNorm}" MinHeight="60"> <Grid Name="VerbForm"> <Grid.Resources> <DataTemplate x:Key="MyEditTemplate"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <telerik:DataFormDataField Label="Name" DataMemberBinding="{Binding Name, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True}" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="VerbName_txt" HorizontalAlignment="Stretch" /> <telerik:DataFormDataField Label="Host" DataMemberBinding="{Binding Host, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True}" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="Host_txt" /> <telerik:DataFormDataField Label="Port" DataMemberBinding="{Binding Port, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True}" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="Port_txt" /> <telerik:DataFormDataField Label="Mandant" DataMemberBinding="{Binding Mandant, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True}" Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="Mandant_txt" /> <telerik:DataFormDataField Label="Passwort" DataMemberBinding="{Binding Passwort, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True}" Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="Passwort_txt" /> <telerik:DataFormDataField Label="Root-User" DataMemberBinding="{Binding RootUser, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True}" Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="RootUser_txt" /> <telerik:DataFormDataField Label="Root-Passwort" DataMemberBinding="{Binding rootpw, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True}" Grid.Row="6" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="RootPw_txt" /> <telerik:DataFormDataField Label="Ssh-Key" DataMemberBinding="{Binding SshKey, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True}" Grid.Row="7" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="SshKey_txt" /> <telerik:DataFormDataField Label="Arbeitsplatz" DataMemberBinding="{Binding Verb1, Mode=TwoWay}" Grid.Row="8" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="Arbeitsplatz_txt" /> <telerik:DataFormDataField Label="s3-Path" DataMemberBinding="{Binding s3Path, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True}" Grid.Row="10" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="S3Path_txt" /> <telerik:DataFormDataField Label="Mandant-Path" DataMemberBinding="{Binding MandPath, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True}" Grid.Row="11" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="MandPath_txt" /> <Button VerticalAlignment="Center" BorderThickness="0" Height="40" Width="Auto" HorizontalAlignment="Left" Name="PathGet_btn" Margin="0" Click="Button_Click" Grid.Row="9" Grid.Column="0" Grid.ColumnSpan="2"> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center"> <Label Content="Pfade ermitteln:" FontFamily="Calibri" FontSize="14" Foreground="Black" VerticalContentAlignment="Center" Margin="0,0,5,0" /> <Image Margin="3" Source="/ITA-Packetverwaltung;component/Images/testen.png" /> </StackPanel> <Button.Template> <ControlTemplate TargetType="Button"> <ContentPresenter Content="{TemplateBinding Content}" Cursor="Hand" /> </ControlTemplate> </Button.Template> </Button> </Grid> </DataTemplate> <DataTemplate x:Key="MyTemplate"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <telerik:DataFormDataField Label="Name:" DataMemberBinding="{Binding Name, Mode=TwoWay}" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="VerbName_txt" /> <telerik:DataFormDataField Label="Host:" DataMemberBinding="{Binding Host, Mode=TwoWay}" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="Host_txt" /> <telerik:DataFormDataField Label="Port:" DataMemberBinding="{Binding Port, Mode=TwoWay}" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="Port_txt" /> <telerik:DataFormDataField Label="Mandant:" DataMemberBinding="{Binding Mandant, Mode=TwoWay}" Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="Mandant_txt" /> <telerik:DataFormDataField Label="Root-User:" DataMemberBinding="{Binding RootUser, Mode=TwoWay}" Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="RootUser_txt" /> <telerik:DataFormDataField Label="Ssh-Key:" DataMemberBinding="{Binding SshKey, Mode=TwoWay}" Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="SshKey_txt" /> <telerik:DataFormDataField Label="Arbeitsplatz:" DataMemberBinding="{Binding Verb1, Mode=TwoWay}" Grid.Row="6" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="Arbeitsplatz_txt" /> <telerik:DataFormDataField Label="s3-Path:" DataMemberBinding="{Binding s3Path, Mode=TwoWay}" Grid.Row="7" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="S3Path_txt" /> <telerik:DataFormDataField Label="Mandant-Path:" DataMemberBinding="{Binding MandPath, Mode=TwoWay}" Grid.Row="8" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch" Margin="0,10,0,0" Name="MandPath_txt" /> </Grid> </DataTemplate> </Grid.Resources> <telerik:RadDataForm x:Name="VerbindungForm1" Margin="10" AutoGenerateFields="False" EditEnded="VerbindungForm1_EditEnded" telerik:StyleManager.Theme="Windows8" ReadOnlyTemplate="{StaticResource MyTemplate}" EditTemplate="{StaticResource MyEditTemplate}" NewItemTemplate="{StaticResource MyEditTemplate}" DeletingItem="VerbindungForm1_DeletingItem" > </telerik:RadDataForm> </Grid> </GroupBox>global::System.Collections.ObjectModel.ObservableCollection<Verbindungen> AlleVerbindungen = new global::System.Collections.ObjectModel.ObservableCollection<Verbindungen>();AlleVerbindungen = Verbindungen.GetVerbindungen();VerbindungForm1.ItemsSource = AlleVerbindungen;