从代码执行事件

时间:2012-01-13 13:30:12

标签: c# windows-phone-7

我试图在我的应用程序中重用我为toggleswitch做的代码

取消选中开关时,会触发

下面的代码
private void ToggleSwitch_Unchecked(object sender, RoutedEventArgs e)
{
   //Some code here YAY!
} 

就像XAML的魅力一样。

<toolkit:ToggleSwitch Margin="0,0,12,0" Content="Allow" Checked="ToggleSwitch_Checked" Unchecked="ToggleSwitch_Unchecked" x:Name="allowGpsSwitch" IsChecked="true" />

现在我也尝试从C#调用此代码。我尝试了几种方法调用ToggleSwitch_Unchecked代码但没有成功。

简历中:我想从代码中调用ToggleSwitch_Unchecked立即执行。我知道我可以单独制作一个方法但我希望重复使用我为事件制作的相同方法。

是否可能或我的想法完全错误?

3 个答案:

答案 0 :(得分:4)

是的,我认为你的想法是对的。事件处理程序的方法签名包含在其他上下文中不需要的参数。为什么不按如下结构:

private void ToggleSwitch_Unchecked(object sender, RoutedEventArgs e)
{
   DoSomething()
}

private void DoSomething()
{
   // ...
}

然后,您可以随时执行DoSomething

答案 1 :(得分:3)

如果您不使用(object sender, RoutedEventArgs e)参数值,那么您真的应该从//Some code here YAY!部分创建一个新方法并从ToggleSwitch_Unchecked以及您想要的任何其他点调用它在...使用它。

答案 2 :(得分:1)

好吧,您应该可以使用null和EventArgs.Empty调用它:

ToggleSwitch_Unchecked(null, EventArgs.Empty);

或null,null

ToggleSwitch_Unchecked(null, null);

但这取决于您是否需要使用sendere