我有一个按钮和一个点击方法分配给它。我想将该方法移到另一个CS文件中,以便在其他地方重用它。是否可以在XAML中引用页面源文件外的CS源文件中的方法,单击“方法”?
<Button x:Name="TheRedButton" Click="DoNotPressTheRedButton_Click" />
我想在另一个源文件中找到DoNotPressTheRedButton_Click。
ButtonMethods.cs
然后在我的页面中使用XAML
MyPage.xaml
为了做到这一点,我需要用XAML编写什么?
我想我需要:
xmlns:helpermethods="using:CoreProject.HelperMethods"
然后,
<Button x:Name="TheRedButton" Click="helpermethods:ButtonMethods.DoNotPressTheRedButton_Click" />
但我收到了编译器错误..。CS1002和CS1513.所以很明显这不是正确的语法。这有可能吗?
发布于 2017-12-04 21:19:39
简单的农民:
<Button Click="{x:Bind helpermethods:ButtonMethods.ButtonClick}" />或在WPF中:
<Button Click="{x:Static helpermethods:ButtonMethods.ButtonClick}" />C#:
public static class ButtonMethods
{
public static RoutedEventHandler ButtonClick => Button_Click;
public static void Button_Click(object sender, RoutedEventArgs e)
{
// stuff
}
}发布于 2017-12-04 21:36:14
您可以从ButtonMethods的单击处理程序中调用TheRedButton中的方法。
如下所示:
private void OnSomebodyClickedTheRedButtonWhenTheyWereNotMeantTo(object sender, RoutedEventArgs args)
{
// do some other stuff with sender - find out which button was clicked, etc.
ButtonMethods.RedButtonClicked(sender, args);
}这将允许您在这个类中从事件处理程序(如果您想的话)执行您可能需要的“其他事情”。
确保您的方法是static,否则每次都需要(不必要地)创建ButtonMethods类的实例。
https://stackoverflow.com/questions/47642017
复制相似问题