242 lines
17 KiB
XML
242 lines
17 KiB
XML
<UserControl xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
mc:Ignorable="d" d:DesignHeight="660" d:DesignWidth="815"
|
|
xmlns:vm ="clr-namespace:常用工具集.ViewModel._02网络相关"
|
|
xmlns:utils="clr-namespace:常用工具集.Utility"
|
|
x:Class="常用工具集.FTP客户端"
|
|
xmlns:i="clr-namespace:Avalonia.Xaml.Interactivity;assembly=Avalonia.Xaml.Interactivity"
|
|
|
|
x:CompileBindings="True"
|
|
x:DataType="vm:FTP客户端ViewModel">
|
|
<!-- xmlns:b="clr-namespace:Avalonia.Xaml.Behaviors;assembly=Avalonia.Xaml.Behaviors" -->
|
|
|
|
<UserControl.DataContext>
|
|
<vm:FTP客户端ViewModel />
|
|
</UserControl.DataContext>
|
|
<Grid>
|
|
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="IP地址:" Margin="10,16,0,0"/>
|
|
<TextBox IsEnabled="{Binding EnableFlag1}" HorizontalAlignment="Left" Margin="60,10,0,0" TextWrapping="Wrap" Text="{Binding IpAddress}" VerticalAlignment="Top" Width="120" />
|
|
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="端口号:" Margin="200,16,0,0"/>
|
|
<TextBox IsEnabled="{Binding EnableFlag1}" HorizontalAlignment="Left" Margin="250,10,0,0" TextWrapping="Wrap" Text="{Binding Port}" VerticalAlignment="Top" Width="105" />
|
|
|
|
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="字符编码:" Margin="369,16,0,0"/>
|
|
<ComboBox HorizontalAlignment="Left" IsEnabled="{Binding EnableFlag1}" VerticalAlignment="Top" SelectedIndex="{Binding EncodingIndex}" ItemsSource="{Binding StrEncodingList}" Margin="439,10,0,0" Width="90" />
|
|
<Button Content="建立连接" IsEnabled="{Binding EnableFlag1}" Command="{Binding ConnectCmd}" HorizontalAlignment="Left" Margin="557,10,0,0" VerticalAlignment="Top" Width="85" RenderTransformOrigin="0.539,0.527" />
|
|
<Button Content="断开连接" IsEnabled="{Binding EnableFlag2}" Command="{Binding DisconnectCmd}" HorizontalAlignment="Left" Margin="655,10,0,0" VerticalAlignment="Top" Width="85" />
|
|
|
|
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="用户名:" Margin="10,56,0,0"/>
|
|
<TextBox IsEnabled="{Binding EnableFlag1}" HorizontalAlignment="Left" Margin="60,50,0,0" TextWrapping="Wrap" Text="{Binding UserName}" VerticalAlignment="Top" Width="120" />
|
|
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="密码:" Margin="210,56,0,0"/>
|
|
<TextBox IsEnabled="{Binding EnableFlag1}" HorizontalAlignment="Left" Margin="250,50,0,0" TextWrapping="Wrap" Text="{Binding Password}" VerticalAlignment="Top" Width="105" />
|
|
<CheckBox IsChecked="{Binding IsAnonymous}" IsEnabled="{Binding EnableFlag1}" Content="匿名登录" Margin="425,52,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" Height="24" />
|
|
|
|
|
|
|
|
<Button Width="25" Height="25" Margin="25,95,0,0" Background="#1296db" HorizontalAlignment="Left" VerticalAlignment="Top" Command="{Binding LocalHomeClickCommand}">
|
|
<Button.Template>
|
|
<ControlTemplate TargetType="Button">
|
|
<Grid Background="Transparent">
|
|
<Path Fill="{TemplateBinding Button.Background}"
|
|
Stretch="Fill" Data="M916.16 360.494L562.622 79.919C529.939 55.927 484.353 57 452.924 82.5L104.497 360.535c-19.798 16.064-31.225 39.73-31.225 64.668V919.3c0 21.173 17.164 38.337 38.337 38.337H320.31c21.173 0 38.337-17.164 38.337-38.337V682.871c0-34.874 29.614-63.407 65.809-63.407h175.289c36.195 0 65.809 28.533 65.809 63.407V919.3c0 21.173 17.164 38.337 38.337 38.337H912.39c21.173 0 38.337-17.164 38.337-38.337V427.742c0.001-26.385-12.784-51.258-34.567-67.248z" />
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Button.Template>
|
|
</Button>
|
|
<Button Width="25" Height="25" Margin="65,95,0,0" Background="#1296db" HorizontalAlignment="Left" VerticalAlignment="Top" Command="{Binding LocalDoubleClickCommand}" CommandParameter="{Binding LocalTreeSelectedItem}">
|
|
<Button.Template>
|
|
<ControlTemplate TargetType="Button">
|
|
<Grid Background="Transparent">
|
|
<Path Fill="{TemplateBinding Button.Background}"
|
|
Stretch="Fill" Data="M467.86 64c47.68 0 91.95 11.98 133.27 35.7 41.33 23.72 74.1 56.25 98.55 97.57s36.68 86.32 36.68 135.48c0 37.66-7.34 73.12-22.01 105.89s-35.21 61.87-61.87 87.06l-44.02-18.83c25.19-21.03 45.24-46.46 59.91-76.54s22.01-62.6 22.01-97.57c0-40.59-9.78-78.01-29.34-112.25-19.56-34.23-46.46-61.63-80.7-81.92s-71.65-30.32-112.24-30.32c-40.59 0-78.01 10.02-112.24 30.32s-61.63 47.68-81.92 81.92c-20.3 34.23-30.32 71.65-30.32 112.25 0 44.75 12.23 85.59 36.68 122.76s56.98 64.8 97.57 82.9v48.17c-53.07-19.56-96.11-52.57-129.12-98.55-32.77-46.22-49.4-97.82-49.4-155.29 0-48.91 11.98-94.15 35.7-135.48s56.25-73.85 97.57-97.57C373.71 75.74 418.95 64 467.86 64z m0 90.24c48.91 0 90.97 17.61 125.94 52.57s52.58 77.03 52.58 125.94c0 33.51-8.07 64.07-24.21 91.21-16.14 27.39-38.15 48.66-66.03 64.07V433.5c30.81-26.66 46.22-59.42 46.22-98.55s-13.21-71.65-39.86-97.57c-26.65-25.92-58.45-38.88-95.37-38.88s-68.47 12.96-94.39 38.88-38.88 58.44-38.88 97.57 14.67 72.14 44.02 98.55v54.53c-27.88-15.4-50.13-36.68-66.03-64.07-16.14-27.39-24.21-57.71-24.21-91.21 0-48.91 17.61-90.97 52.58-125.94 34.47-35.21 77.26-52.57 127.64-52.57z m-46.22 178.27c0-12.47 4.64-22.99 13.7-31.55 9.05-8.32 20.05-12.47 32.52-12.47s22.99 4.16 31.55 12.47c8.56 8.32 12.47 18.83 12.47 31.55v199.3l54.53 6.36 220.33 98.55c12.47 5.62 22.01 13.7 28.37 24.21 6.36 10.51 9.54 22.74 9.54 36.68v195.14c0 18.1-6.6 33.51-20.05 46.22-13.21 12.47-29.1 19.56-47.2 21.03H467.86c-18.1 0-33.5-7.09-46.22-21.03L203.27 752.14l33.5-35.7c8.31-8.32 18.83-12.47 31.55-12.47h10.52l142.81 75.57-0.01-447.03z" />
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Button.Template>
|
|
</Button>
|
|
|
|
<Border Theme="{StaticResource CardBorder}" Width="320" Height="335" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="25,130,0,0">
|
|
<Grid>
|
|
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="{Binding LocalPath1}" VerticalAlignment="Top"/>
|
|
<DataGrid HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
IsReadOnly="True"
|
|
ItemsSource="{Binding LocalTree}"
|
|
SelectedItem="{Binding LocalTreeSelectedItem}"
|
|
RowHeight="30"
|
|
AutoGenerateColumns="False" GridLinesVisibility="None">
|
|
<!--<i:Interaction.Triggers>
|
|
<b:EventTrigger EventName="MouseLeftButtonUp">
|
|
<b:InvokeCommandAction Command="{Binding LocalClickCommand}" CommandParameter="{Binding SelectedItem}" />
|
|
</i:EventTrigger>
|
|
<b:EventTrigger EventName="MouseDoubleClick">
|
|
<b:InvokeCommandAction Command="{Binding LocalDoubleClickCommand}" CommandParameter="{Binding LocalTreeSelectedItem}" />
|
|
</b:EventTrigger>
|
|
</b:Interaction.Triggers>-->
|
|
<DataGrid.Columns>
|
|
<DataGridTemplateColumn Header="名称" >
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center" Height="20">
|
|
<Image Margin="2" HorizontalAlignment="Center" VerticalAlignment="Center" Tag="{Binding IsDirectory}">
|
|
<Image.Styles>
|
|
<Style Selector="Image[Tag=True]">
|
|
<Setter Property="Source" Value="/Assets/FTP/Folder.png" />
|
|
</Style>
|
|
<Style Selector="Image[Tag=False]">
|
|
<Setter Property="Source" Value="/Assets/FTP/File.png" />
|
|
</Style>
|
|
</Image.Styles>
|
|
</Image>
|
|
<TextBlock Text="{Binding Name}" Margin="2" HorizontalAlignment="Center" VerticalAlignment="Center" Tag="{Binding Path}"/>
|
|
</StackPanel>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
</DataGrid.Columns>
|
|
</DataGrid>
|
|
</Grid>
|
|
</Border>
|
|
|
|
|
|
|
|
<Button IsEnabled="{Binding EnableFlag2}" Width="48" Height="22" Margin="369,243,0,0" Background="#1296db" HorizontalAlignment="Left" VerticalAlignment="Top" Command="{Binding DownloadClickCommand}">
|
|
<Button.Template>
|
|
<ControlTemplate TargetType="Button">
|
|
<Grid Background="Transparent">
|
|
<Path Fill="{TemplateBinding Button.Background}"
|
|
Stretch="Fill"
|
|
Data="M185.4,87.5H95.8V56.4c0-2-0.6-3.9-1.6-5.6c-3.1-4.9-9.5-6.3-14.4-3.2L9.9,91.9c-1.3,0.8-2.5,2-3.3,3.3
|
|
c-3,4.9-1.5,11.3,3.4,14.3L80,152.7v0c1.6,1,3.5,1.5,5.5,1.5c5.8,0,10.4-4.7,10.4-10.4v-31.3h89.6c5.8,0,10.4-4.7,10.4-10.4v-4.2
|
|
C195.8,92.2,191.2,87.5,185.4,87.5z" />
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Button.Template>
|
|
</Button>
|
|
|
|
<Button IsEnabled="{Binding EnableFlag2}" Width="48" Height="22" Margin="369,308,0,0" Background="#1296db" HorizontalAlignment="Left" VerticalAlignment="Top" Command="{Binding UploadClickCommand}">
|
|
<Button.Template>
|
|
<ControlTemplate TargetType="Button">
|
|
<Grid Background="Transparent">
|
|
<Path Fill="{TemplateBinding Button.Background}"
|
|
Stretch="Fill"
|
|
Data="M15.5,87.5h89.6V56.4c0-2,0.6-3.9,1.6-5.6c3.1-4.9,9.5-6.3,14.4-3.2L191,91.9c1.3,0.8,2.5,2,3.3,3.3
|
|
c3,4.9,1.5,11.3-3.4,14.3l-69.9,43.1v0c-1.6,1-3.5,1.5-5.5,1.5c-5.8,0-10.4-4.7-10.4-10.4v-31.3H15.5c-5.8,0-10.4-4.7-10.4-10.4
|
|
v-4.2C5.1,92.2,9.7,87.5,15.5,87.5z" />
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Button.Template>
|
|
</Button>
|
|
<Button IsEnabled="{Binding EnableFlag2}" Width="25" Height="25" Margin="495,95,0,0" Background="#1296db" HorizontalAlignment="Left" VerticalAlignment="Top" Command="{Binding RemoteRenameClickCommand}">
|
|
<Button.Template>
|
|
<ControlTemplate TargetType="Button">
|
|
<Grid Background="Transparent">
|
|
<Path Fill="{TemplateBinding Button.Background}"
|
|
Stretch="Fill" Data="M105.4,137.9h-65c-3,0-5.4-2.4-5.4-5.4v-65c0-3,2.4-5.4,5.4-5.4h65c3,0,5.4,2.4,5.4,5.4s-2.4,5.4-5.4,5.4H45.8
|
|
v54.2h59.6c3,0,5.4,2.4,5.4,5.4S108.4,137.9,105.4,137.9z M62.1,94.6c-3,0-5.4,2.4-5.4,5.4s2.4,5.4,5.4,5.4h32.5
|
|
c3,0,5.4-2.4,5.4-5.4s-2.4-5.4-5.4-5.4H62.1z M148.8,159.6h-16.3V40.4h16.3c3,0,5.4-2.4,5.4-5.4s-2.4-5.4-5.4-5.4h-43.4
|
|
c-3,0-5.4,2.4-5.4,5.4s2.4,5.4,5.4,5.4h16.3v119.2h-16.3c-3,0-5.4,2.4-5.4,5.4s2.4,5.4,5.4,5.4h43.4c3,0,5.4-2.4,5.4-5.4
|
|
S151.8,159.6,148.8,159.6z M159.6,62.1h-10.8c-3,0-5.4,2.4-5.4,5.4s2.4,5.4,5.4,5.4h5.4v54.2h-5.4c-3,0-5.4,2.4-5.4,5.4
|
|
s2.4,5.4,5.4,5.4h10.8c3,0,5.4-2.4,5.4-5.4v-65C165,64.5,162.6,62.1,159.6,62.1z" />
|
|
</Grid>
|
|
|
|
</ControlTemplate>
|
|
</Button.Template>
|
|
</Button>
|
|
<Button IsEnabled="{Binding EnableFlag2}" Width="25" Height="25" Margin="540,95,0,0" Background="#1296db" HorizontalAlignment="Left" VerticalAlignment="Top" Command="{Binding RemoteDeleteClickCommand}">
|
|
<Button.Template>
|
|
<ControlTemplate TargetType="Button">
|
|
<Grid Background="Transparent">
|
|
<Path Fill="{TemplateBinding Button.Background}"
|
|
Stretch="Fill" Data="M160,60c-5.5,0-10,4.5-10,10l0,0v110H50V70c0-5.5-4.5-10-10-10c-5.5,0-10,4.5-10,10v120c0,5.5,4.5,10,10,10h120
|
|
c5.5,0,10-4.5,10-10l0,0V70C170,64.5,165.5,60,160,60C160,60,160,60,160,60z M80,160V80c0-5.5-4.5-10-10-10c-5.5,0-10,4.5-10,10v80
|
|
c0,5.5,4.5,10,10,10C75.5,170,80,165.5,80,160z M110,160V80c0-5.5-4.5-10-10-10c-5.5,0-10,4.5-10,10v80c0,5.5,4.5,10,10,10
|
|
C105.5,170,110,165.5,110,160z M140,160V80c0-5.5-4.5-10-10-10c-5.5,0-10,4.5-10,10v80c0,5.5,4.5,10,10,10
|
|
C135.5,170,140,165.5,140,160z M190,30h-50V20c0-11-9-20-20-20c0,0,0,0,0,0H80C69,0,60,9,60,20v10H10C4.5,30,0,34.5,0,40
|
|
c0,5.5,4.5,10,10,10h180c5.5,0,10-4.5,10-10C200,34.5,195.5,30,190,30z M80,30V20h40v10H80z" />
|
|
</Grid>
|
|
|
|
</ControlTemplate>
|
|
</Button.Template>
|
|
</Button>
|
|
|
|
<Button IsEnabled="{Binding EnableFlag2}" Width="24" Height="25" Margin="448,95,0,0" Background="#1296db" HorizontalAlignment="Left" VerticalAlignment="Top" Command="{Binding RemoteHomeClickCommand}">
|
|
<Button.Template>
|
|
<ControlTemplate TargetType="Button">
|
|
<Grid Background="Transparent">
|
|
<Path Fill="{TemplateBinding Button.Background}"
|
|
Stretch="Fill" Data="M916.16 360.494L562.622 79.919C529.939 55.927 484.353 57 452.924 82.5L104.497 360.535c-19.798 16.064-31.225 39.73-31.225 64.668V919.3c0 21.173 17.164 38.337 38.337 38.337H320.31c21.173 0 38.337-17.164 38.337-38.337V682.871c0-34.874 29.614-63.407 65.809-63.407h175.289c36.195 0 65.809 28.533 65.809 63.407V919.3c0 21.173 17.164 38.337 38.337 38.337H912.39c21.173 0 38.337-17.164 38.337-38.337V427.742c0.001-26.385-12.784-51.258-34.567-67.248z" />
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Button.Template>
|
|
</Button>
|
|
|
|
|
|
<Button Width="25" Height="25" Margin="585,95,0,0" Background="#1296db" HorizontalAlignment="Left" VerticalAlignment="Top" Command="{Binding RemoteDoubleClickCommand}" CommandParameter="{Binding RemoteTreeSelectedItem}">
|
|
<Button.Template>
|
|
<ControlTemplate TargetType="Button">
|
|
<Grid Background="Transparent">
|
|
<Path Fill="{TemplateBinding Button.Background}"
|
|
Stretch="Fill" Data="M467.86 64c47.68 0 91.95 11.98 133.27 35.7 41.33 23.72 74.1 56.25 98.55 97.57s36.68 86.32 36.68 135.48c0 37.66-7.34 73.12-22.01 105.89s-35.21 61.87-61.87 87.06l-44.02-18.83c25.19-21.03 45.24-46.46 59.91-76.54s22.01-62.6 22.01-97.57c0-40.59-9.78-78.01-29.34-112.25-19.56-34.23-46.46-61.63-80.7-81.92s-71.65-30.32-112.24-30.32c-40.59 0-78.01 10.02-112.24 30.32s-61.63 47.68-81.92 81.92c-20.3 34.23-30.32 71.65-30.32 112.25 0 44.75 12.23 85.59 36.68 122.76s56.98 64.8 97.57 82.9v48.17c-53.07-19.56-96.11-52.57-129.12-98.55-32.77-46.22-49.4-97.82-49.4-155.29 0-48.91 11.98-94.15 35.7-135.48s56.25-73.85 97.57-97.57C373.71 75.74 418.95 64 467.86 64z m0 90.24c48.91 0 90.97 17.61 125.94 52.57s52.58 77.03 52.58 125.94c0 33.51-8.07 64.07-24.21 91.21-16.14 27.39-38.15 48.66-66.03 64.07V433.5c30.81-26.66 46.22-59.42 46.22-98.55s-13.21-71.65-39.86-97.57c-26.65-25.92-58.45-38.88-95.37-38.88s-68.47 12.96-94.39 38.88-38.88 58.44-38.88 97.57 14.67 72.14 44.02 98.55v54.53c-27.88-15.4-50.13-36.68-66.03-64.07-16.14-27.39-24.21-57.71-24.21-91.21 0-48.91 17.61-90.97 52.58-125.94 34.47-35.21 77.26-52.57 127.64-52.57z m-46.22 178.27c0-12.47 4.64-22.99 13.7-31.55 9.05-8.32 20.05-12.47 32.52-12.47s22.99 4.16 31.55 12.47c8.56 8.32 12.47 18.83 12.47 31.55v199.3l54.53 6.36 220.33 98.55c12.47 5.62 22.01 13.7 28.37 24.21 6.36 10.51 9.54 22.74 9.54 36.68v195.14c0 18.1-6.6 33.51-20.05 46.22-13.21 12.47-29.1 19.56-47.2 21.03H467.86c-18.1 0-33.5-7.09-46.22-21.03L203.27 752.14l33.5-35.7c8.31-8.32 18.83-12.47 31.55-12.47h10.52l142.81 75.57-0.01-447.03z" />
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Button.Template>
|
|
</Button>
|
|
|
|
<Border Theme="{StaticResource CardBorder}" Width="320" Height="335" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="445,130,0,0">
|
|
<Grid>
|
|
<TextBlock HorizontalAlignment="Left" Margin="0,-20,0,0" TextWrapping="Wrap" Text="{Binding RemotePath1}" VerticalAlignment="Top"/>
|
|
<DataGrid HorizontalAlignment="Stretch"
|
|
IsEnabled="{Binding EnableFlag2}"
|
|
VerticalAlignment="Stretch"
|
|
IsReadOnly="True"
|
|
ItemsSource="{Binding RemoteTree}"
|
|
SelectedItem="{Binding RemoteTreeSelectedItem}"
|
|
RowHeight="30"
|
|
AutoGenerateColumns="False" GridLinesVisibility="None" >
|
|
<i:Interaction.Behaviors>
|
|
<!--<EventTriggerBehavior EventName="MouseDoubleClick">
|
|
<InvokeCommandAction Command="{Binding RemoteDoubleClickCommand}" CommandParameter="{Binding RemoteTreeSelectedItem}"/>
|
|
</EventTriggerBehavior>-->
|
|
</i:Interaction.Behaviors>
|
|
<DataGrid.Columns>
|
|
<DataGridTemplateColumn Header="名称" >
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center" Height="20">
|
|
<Image Margin="2" HorizontalAlignment="Center" VerticalAlignment="Center" Tag="{Binding IsDirectory}">
|
|
<Image.Styles>
|
|
<Style Selector="Image[Tag=True]">
|
|
<Setter Property="Source" Value="/Assets/FTP/Folder.png" />
|
|
</Style>
|
|
<Style Selector="Image[Tag=False]">
|
|
<Setter Property="Source" Value="/Assets/FTP/File.png" />
|
|
</Style>
|
|
</Image.Styles>
|
|
</Image>
|
|
<TextBlock Text="{Binding Name}" Margin="2" HorizontalAlignment="Center" VerticalAlignment="Center" Tag="{Binding Path}"/>
|
|
</StackPanel >
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
</DataGrid.Columns>
|
|
</DataGrid>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<Border Theme="{StaticResource CardBorder}" Width="755" Height="160" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,460,0,0">
|
|
<Grid>
|
|
<TextBlock HorizontalAlignment="Center" Margin="0,-20,0,0" TextWrapping="Wrap" Text="日志信息" VerticalAlignment="Top"/>
|
|
<TextBox x:Name="TBInfo" TextWrapping="Wrap" ScrollViewer.VerticalScrollBarVisibility="Auto" Height="100" Text="{Binding Message}" Margin="10,10,10,10" HorizontalContentAlignment="Left" VerticalContentAlignment="Top">
|
|
<i:Interaction.Behaviors>
|
|
<DataTriggerBehavior Binding="{Binding Text.Length, ElementName=TBInfo}" ComparisonCondition="NotEqual" Value="0">
|
|
<ChangePropertyAction TargetObject="TBInfo" PropertyName="CaretIndex" Value="{Binding ElementName=TBInfo, Path=Text.Length}"/>
|
|
<CallMethodAction MethodName="ScrollToEnd" />
|
|
</DataTriggerBehavior>
|
|
</i:Interaction.Behaviors>
|
|
</TextBox>
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
</UserControl>
|