我在这里需要一些帮助。
我的窗户上有一个按钮。 单击按钮时,我想将执行的操作路由到已在其他用户控件中创建的事件。这些用户控件嵌入在窗口本身中。
用户控件中的事件是
public void Item_Checked(object sender, RoutedEventArgs e)
{
object selected = this.GetType().GetField("Person", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static).GetValue(this);
this. PropertyGrid1.SelectedObject = selected;
}
在窗口中创建的按钮为:
<Button Content="clickme" Name="click" Grid.Column="2" Height="20" Width="50" Click="click_Click" />
窗口中的按钮事件如下所示:
private void click_Click(object sender, RoutedEventArgs e)
{
/// dosomething
}
有人可以在这里帮我吗?我想在单击按钮时调用Item_checked事件。
这是编程中的常见问题。普遍接受的解决方案是简单地添加一个包含当前在 Item_Checked
事件处理程序中的内容的新方法,然后从处理程序和您可能想要的任何其他位置调用该方法:
在UserControl
:
public void DoSomething()
{
object selected = this.GetType().GetField("Person",
System.Reflection.BindingFlags.NonPublic |
System.Reflection.BindingFlags.Static).GetValue(this);
this.PropertyGrid1.SelectedObject = selected;
}
public void Item_Checked(object sender, RoutedEventArgs e)
{
DoSomething();
}
在Window
中(其中yourUserControl
是对UserControl
的引用):
private void click_Click(object sender, RoutedEventArgs e)
{
yourUserControl.DoSomething();
}
以空值调用 RoutedEventArgs,如下所示
Item_Checked(PropertyGrid1,null);