首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从XAML中的另一个源文件中引用单击方法?

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

Stack Overflow用户
提问于 2017-12-04 21:11:03
回答 2查看 1.7K关注 0票数 3

我有一个按钮和一个点击方法分配给它。我想将该方法移到另一个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.所以很明显这不是正确的语法。这有可能吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-04 21:19:39

简单的农民:

代码语言:javascript
复制
<Button Click="{x:Bind helpermethods:ButtonMethods.ButtonClick}" />

或在WPF中:

代码语言:javascript
复制
<Button Click="{x:Static helpermethods:ButtonMethods.ButtonClick}" />

C#:

代码语言:javascript
复制
public static class ButtonMethods
{
    public static RoutedEventHandler ButtonClick => Button_Click;

    public static void Button_Click(object sender, RoutedEventArgs e)
    {
        // stuff
    }
}
票数 5
EN

Stack Overflow用户

发布于 2017-12-04 21:36:14

您可以从ButtonMethods的单击处理程序中调用TheRedButton中的方法。

如下所示:

代码语言:javascript
复制
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类的实例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47642017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档