【问题标题】:Setting Command Bindings via XAML on PageFunction forms通过 XAML 在 PageFunction 表单上设置命令绑定
【发布时间】:2009-06-30 23:30:12
【问题描述】:

如果您正在创建 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? (我知道我可以在代码中做到这一点,但这不是重点)。

【问题讨论】:

    标签: wpf commandbinding pagefunction


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 2017-01-15
      • 2010-10-15
      • 1970-01-01
      相关资源
      最近更新 更多