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 文件。总而言之,它工作正常。但是现在我有一个带有自定义命令的按钮,我迷路了。附加文件如下所示:

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