2

如果要创建 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 表单:a PageFunction. 但它不允许你输入:

<PageFunction.CommandBindings>

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

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

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

4

1 回答 1

2

PageFunction 最终派生自 Page,所以我相当肯定您可以使用它<Page.CommandBindings>来定义您的命令绑定。当然,您可以<Page.Resources>在 PageFunction 中使用来定义其资源。

为什么不能用<PageFunction.CommandBindings>?我不知道,但是当您说 PageFunction 是泛型类型这一事实时,我认为您可能是对的。您需要在 XAML 中使用某种方式来说明底层类型是什么。我认为这在 .NET 4.0 版本的 XAML 中是可能的,但在当前版本中是不可能的。

于 2009-06-30T23:44:21.907 回答