通过 XAML 在 PageFunction 表单上设置命令绑定
如果要创建 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
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.