0

カスタム コマンドとバインディングで迷っています。単なるコンテナであるメインの XAML ファイルがあります。

<Window x:Class="MyNS.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"         
        xmlns:a="clr-namespace:MyNS.Actions"
        Title="MainWindow" Height="350" Width="525">
    <Window.CommandBindings>
        <CommandBinding 
                    Command="{x:Static a:OpenWindow.Cmd}"                
                    CanExecute="CanExecuteActionAsCommand" 
                    Executed="ExecuteActionAsCommand" />
    </Window.CommandBindings>

    <Grid Name="ContentPanel">

    </Grid>
</Window>

そして今、実行時に XAML リーダーを使用して追加の XAML ファイルをロードしたいと考えています。全体として、正常に動作します。しかし、カスタム コマンドを含む Button があり、迷子になっています。追加ファイルは次のようになります。

<StackPanel             
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
            xmlns:a="clr-namespace:MyNS.Actions">

      <Button Content="Show Properties" Grid.Row="1" 
              Command="{x:Static a:OpenWindow.Cmd}" 
              CommandParameter="startup_screen2" />
</StackPanel>

問題は、XAML リーダーが "x:Static" を解決できないことです。

私の質問は、追加の XAML ファイルで呼び出すことができるカスタム コマンドを定義する方法を誰かが知っているかどうかです。

どうもありがとうございました。

4

1 に答える 1

0

ルーズ XAML の xmlns:a の名前空間宣言にアセンブリ名を追加してみてください。

xmlns:a="clr-namespace:MyNS.Actions";assembly=YourAssemblyName

これで、XamlReader はカスタム コマンドを見つける必要があります。

于 2012-08-24T10:59:23.787 に答える