c# - 从 XAML 中的另一个源文件引用单击方法?

标签 c# xaml uwp

我有一个分配有点击方法的按钮。我想将该方法移动到另一个 CS 文件,以便我可以在其他地方重用它。是否可以在 XAML 中从 Pages 源文件之外的 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。所以很明显这不是正确的语法。这可能吗?

最佳答案

简单易行:

<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
    }
}

关于c# - 从 XAML 中的另一个源文件引用单击方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47642017/

相关文章:

c# - 银光网格背景图像

c# - 在 UWP 中更新绑定(bind)的项目源后如何更新 GridView?

c# - WinDbg sosex无法调试

xaml - Xamarin.Forms : How to set 'GestureRecognizers' in style

wpf - 如何在WPF页面中隐藏导航栏

c# - 当按下 'Enter' 键而不是提交时移动到下一个文本框 (Windows Phone)

c# - UWP Windows 10 应用程序内存在导航时增加

c# - 在单独的线程中使用实例时使用什么生命周期范围?

c# - 页面上验证器的注销问题。 ASP.NET C#

c# - 在 Web API 调用中使用多个委托(delegate)处理程序