2011-06-10 77 views
1

我正在使用Visual Studio 2010.我在wpf中有两个自定义usercontrol类。还有一个名为MainWindow.xaml的Main Usercontrol类。我添加了两个名为ListTreeviewContentPane.xaml和ToolBarMenuContentPane.xaml的不同类。在MainWindow.xaml我一直在使用这种类型的代码 -WPF事件传递两个子Usercontrol之间的一个主用户控件

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

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

还是有可能的 - 单击usertreeview并在usertoolbar中进行更改,因为它们都是不使用委托的mainwindow的子代?

回答

0

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

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" /> 

如果按钮被点击文本框触发点火,在文本框的方法Clear被调用时,清除文本。

相关问题