1

我是编程新手,需要澄清以下内容......

我有一个自动生成文本的文本框。要求:如果我现在突出显示文本框中的文本,则应打开一个新的 wpf 窗口..(这需要使用 wpf 命令仅在附加属性上/不使用事件来完成)

谢谢 :) Ps 请给我详细的代码以供回复..

4

1 回答 1

0

这是一个非常奇怪的要求,但可以使用行为来完成。这是一些示例标记:

<Grid>
    <TextBox Text="This is some text">
        <i:Interaction.Behaviors>
            <local:NewWindowOnSelectBehavior/>
        </i:Interaction.Behaviors>
    </TextBox>
</Grid>

这是出于演示目的显示消息框的行为:

public class NewWindowOnSelectBehavior : Behavior<TextBox>
{
    protected override void OnAttached()
    {
        AssociatedObject.SelectionChanged += (s, e) =>
        {
            if (!string.IsNullOrEmpty(AssociatedObject.SelectedText))
                MessageBox.Show("New Window");
        };
    }
}

此示例使用行为。如果您不熟悉行为,请安装 Expression Blend 4 SDK 并添加此命名空间:

xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"

并添加System.Windows.Interactivity到您的项目中。

于 2011-02-17T06:47:53.500 回答