1

我正在使用 Visual Studio 2010。我在 wpf 中有两个自定义用户控件类。还有一个名为 MainWindow.xaml 的 Main Usercontrol 类。我添加了两个名为 ListTreeviewContentPane.xaml 和 ToolBarMenuContentPane.xaml 的不同类。在 MainWindow.xaml 中,我使用这种类型的代码添加了它们-

<local:ListTreeViewContentPane x:Name="usertreeview"></local:ListTreeViewContentPane>
<local:ToolBarMenuContentPane x:Name="usertoolbar"></local:ToolBarMenuContentPane>

我想单击 usertreeview 并为此在 usertoolbar 中运行代码。但问题是 usertreeview 没有 usertoolbar 实例的概念。我已经使用委托和事件完成了这项工作。但因为它们是主窗口的孩子。是否可以在 usertreeview 中创建一个动作并捕获它或在 usertoolbar 中编写处理程序或在 usertoolbar 中进行更改而不使用委托和事件绑定?

或者是否有可能 - 单击用户树视图并在用户工具栏中进行更改,因为它们都是主窗口的子窗口而不使用委托?

4

1 回答 1

0

使用Blend SDK中的交互,您可以触发其他控件中的事件并调用听起来适合您的问题的方法,例如

xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
<TextBox>
    <i:Interaction.Triggers>
        <i:EventTrigger SourceName="buton" EventName="Click">
            <ei:CallMethodAction MethodName="Clear" />
        </i:EventTrigger>
    </i:Interaction.Triggers>
</TextBox>
<Button Name="buton" Content="Clear Text" />

如果单击 Button,则触发 TextBox 中的触发器并Clear调用 TextBox 上的方法,从而清除文本。

于 2011-06-10T10:14:21.910 回答