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>

2 つの考えられる説明を推測できます。

  • PageFunctionはジェネリック オブジェクトであるため、何らかの方法でジェネリック パラメーターを XAML に入力する必要があります。
  • それはフレームワークの矛盾です。

XAML 内でを構成CommandBindingsする方法を知っている人はいますか? PageFunction(コードでできることは知っていますが、それは重要ではありません)。

4

1 に答える 1

2

<Page.CommandBindings>PageFunction は最終的に Page から派生するため、コマンド バインディングを定義するために使用できると確信しています。確か<Page.Resources>に、 PageFunction で使用してそのリソースを定義できます。

なぜ使えないのです<PageFunction.CommandBindings>か?わかりませんが、PageFunction がジェネリック型であるという事実と関係があると言うのはおそらく正しいと思います。基になる型が何であるかを示すには、XAML で何らかの方法が必要です。XAML の .NET 4.0 バージョンでは可能ですが、現在のバージョンでは可能ではないと思います。

于 2009-06-30T23:44:21.907 に答える