Frage

Wenn Sie ein WPF-Fenster oder eine WPF-Seite erstellen, können Sie in der XAML-Befehle an Funktionen binden.

<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>

Es ist eine andere Art von WPF Form: a PageFunction. Aber es funktioniert nicht zulassen, geben Sie ein:

<PageFunction.CommandBindings>

Ich kann zwei mögliche Erklärungen erraten:

  • Da PageFunction ein generisches Objekt ist, müssen Sie irgendwie die allgemeinen Parameter in die XAML eingeben.
  • Es ist nur eine Inkonsistenz im Rahmen.

Wer weiß, wie ich die CommandBindings für eine PageFunction im XAML konfigurieren können? (Ich weiß, dass ich es im Code tun, aber das ist nicht der Punkt).

War es hilfreich?

Lösung

Pagefunction geht letztlich auf Seite, also bin ich ziemlich sicher, dass Sie nur <Page.CommandBindings> verwenden können Ihre Befehlsbindungen zu definieren. Natürlich können Sie <Page.Resources> in einem Pagefunction verwenden, um seine Ressourcen zu definieren.

Warum können Sie nicht <PageFunction.CommandBindings> verwenden? Ich weiß nicht, aber ich denke, Sie wahrscheinlich recht, wenn Sie sagen, dass es mit der Tatsache zu tun, dass Pagefunction ein generischer Typ ist. Sie würden einen Weg in XAML müssen sagen, was die zugrunde liegenden Typ ist. Ich denke, das ist möglich, in der .NET 4.0-Version von XAML, aber nicht in der aktuellen Version.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top