通过 XAML 在 PageFunction 表单上设置命令绑定

发布于 2024-07-26 01:03:27 字数 894 浏览 6 评论 0原文

如果要创建 WPF 窗口或 WPF 页面,则可以将命令绑定到 XAML 中的函数。

<Page x:Class="WpfPageApplication.Page1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:WpfPageApplication="clr-namespace:WpfPageApplication"
Title="Page1" Background="LightGray"
>
<Page.CommandBindings>
    <CommandBinding 
        Command="WpfPageApplication:PizzaCommands.ConfigurePizza" 
        Executed="OnConfigurePizza" />
</Page.CommandBindings>

还有另一种类型的 WPF 表单:PageFunction。 但它不允许您输入:

<PageFunction.CommandBindings>

我可以猜测两种可能的解释:

  • 因为 PageFunction 是一个通用对象,因此您必须以某种方式将通用参数输入到 XAML 中。
  • 这只是框架中的不一致。

有谁知道如何在 XAML 中为 PageFunction 配置 CommandBindings ? (我知道我可以在代码中做到这一点,但这不是重点)。

If you are creating a WPF window or a WPF page, you can bind commands to functions within the XAML.

<Page x:Class="WpfPageApplication.Page1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:WpfPageApplication="clr-namespace:WpfPageApplication"
Title="Page1" Background="LightGray"
>
<Page.CommandBindings>
    <CommandBinding 
        Command="WpfPageApplication:PizzaCommands.ConfigurePizza" 
        Executed="OnConfigurePizza" />
</Page.CommandBindings>

There is another type of WPF form: a PageFunction. But it doesn't let you type:

<PageFunction.CommandBindings>

I can guess two possible explanations:

  • Because PageFunction is a generic object, you have to somehow enter the generic parameters into the XAML.
  • It's just an inconsistency in the framework.

Does anyone know how I can configure the CommandBindings for a PageFunction within the XAML? (I know I can do it in the code, but that's not the point).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

荒岛晴空 2024-08-02 01:03:27

PageFunction 最终派生自 Page,因此我相当确定您可以使用 来定义命令绑定。 当然,您可以在 PageFunction 中使用 来定义其资源。

为什么不能使用? 我不知道,但我认为当您说这与 PageFunction 是泛型类型有关时,您可能是对的。 您需要 XAML 中的某种方式来说明基础类型是什么。 我认为这在 .NET 4.0 版本的 XAML 中是可能的,但在当前版本中不行。

PageFunction ultimately derives from Page, so I'm fairly certain you can just use <Page.CommandBindings> to define your command bindings. Certainly you can use <Page.Resources> in a PageFunction to define its resources.

Why can't you use <PageFunction.CommandBindings>? I don't know, but I think you're probably right when you say it has to do with the fact that PageFunction is a generic type. You'd need some way in XAML to say what the underlying type is. I think that's possible in the .NET 4.0 version of XAML but not in the current version.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文