0

我有一个问题。我创建了一个 RichTextBox XAML(没有 .text 属性的那个,因为似乎有两个不同的)。现在我想在文本框获得焦点时从我的 .cs 调用一个函数,而在失去焦点时调用另一个函数。我已经想通了,如何触发这样的动画:

    <Style x:Key="adressBar" TargetType="{x:Type RichTextBox}">
        <Setter Property="Background" Value="transparent"></Setter>
        <Style.Triggers>
            <Trigger Property="IsFocused" Value="True">
                <Trigger.EnterActions>
                    <BeginStoryboard>
                        <Storyboard>
                            <ColorAnimation  Duration="0:0:0.2" Storyboard.TargetProperty="(TextBox.Background).(SolidColorBrush.Color)" To="#FFF5F5FE" />
                        </Storyboard>
                    </BeginStoryboard>
                </Trigger.EnterActions>
                <Trigger.ExitActions>
                    <BeginStoryboard>
                        <Storyboard>
                            <ColorAnimation  Duration="0:0:0.2" Storyboard.TargetProperty="(TextBox.Background).(SolidColorBrush.Color)" To="transparent" />
                        </Storyboard>
                    </BeginStoryboard>
                </Trigger.ExitActions>
            </Trigger>
        </Style.Triggers>
    </Style>

但我不知道如何在那里调用函数。该函数基本上如下所示:

public void doStuff(){...}

我不需要解析参数!:)

4

1 回答 1

0

您可以简单地将处理程序附加到GotFocusLostFocus事件:

在 XAML 中:

<DataGrid GotFocus="DataGrid_GotFocus" LostFocus="DataGrid_LostFocus" />

在后面的代码中:

private void DataGrid_LostFocus(object sender, RoutedEventArgs e)
{
    doStuff();
}

private void DataGrid_GotFocus(object sender, RoutedEventArgs e)
{
    doStuff();
}
于 2013-10-08T11:39:37.840 回答