我想知道如何在PreviewKeyDown
中访问RichTextBox
的事件UserControl
。
例如,我有用户控件,在这个用户控件中我只有一个richTextBox:
这样的事情:
<UserControl x:Class="Spirit.Controls.RichTextBoxControl"
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:toolkit="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit.Extended"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<toolkit:RichTextBox Name="RichTextBox"
Grid.Row="0" PreviewKeyDown="?">
</toolkit:RichTextBox>
</Grid>
</UserControl>
我在WPF窗口中使用此控件。
<Window x:Class="WpfApplication2.Window2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:WpfApplication2.Controls" xmlns:WpfApplication2="clr-namespace:WpfApplication2" Title="Window2" Height="300" Width="300">
<Grid>
<Spirit.Controls:RichTextBoxControl Background="Red"
FontSize="13"
Margin="4,4,4,4"
Grid.Row="0"
Here I would like to acces to PreviewKeyDown of richTextBox/>
</Grid>
</Window>
我想访问richTextBox的PreviewKeyDown,在此事件上绑定一些方法并可以访问KeyEventArgs。
这样的事情:
private void RichTextBoxInUserControl_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter )
{
//...
}
}
答案 0 :(得分:1)
我注意到Intellisence没有在Window中找到RichTextBox...
,但您可以像这样订阅该事件
<Spirit.Controls:RichTextBoxControl
Name="RichTextBoxInUserControl"
Background="Red"
FontSize="13"
Margin="4,4,4,4"
Grid.Row="0"
RichTextBox.PreviewKeyDown="RichTextBoxInUserControl_PreviewKeyDown"/>
其中RichTextBox
是toolkit:RichTextBox
UserControl
的名称