【发布时间】:2011-02-17 04:55:23
【问题描述】:
我是编程新手,需要澄清以下内容......
我有一个自动生成文本的文本框。 要求:如果我现在突出显示文本框中的文本,则应打开一个新的 wpf 窗口.. (这需要在附加属性上使用 wpf 命令来完成,而不是在事件上使用)
谢谢 :) P.s 请给我详细的代码以便回复..
【问题讨论】:
标签: wpf xaml binding attached-properties
我是编程新手,需要澄清以下内容......
我有一个自动生成文本的文本框。 要求:如果我现在突出显示文本框中的文本,则应打开一个新的 wpf 窗口.. (这需要在附加属性上使用 wpf 命令来完成,而不是在事件上使用)
谢谢 :) P.s 请给我详细的代码以便回复..
【问题讨论】:
标签: wpf xaml binding attached-properties
这是一个非常奇怪的要求,但可以使用行为来完成。这是一些示例标记:
<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 添加到您的项目中。
【讨论】: