将按钮命令绑定到父级的datacontext以外的源

时间:2010-11-14 09:03:59

标签: silverlight xaml mvvm-light

我正在尝试将datacontext中的按钮命令绑定到Main viewmodel中的RelayCommand。当我使用Blend时,它会更改包含网格的datacontext以指向Main ViewModel,从而打破网格内容的绑定,这应该基于行的视图模型等。我尝试了以下但是编译器说我是缺少属性名称。

<Button Style="{StaticResource StatusButtonStyle}">
                    <Button.Command>
                        <Binding Source="{StaticResource Locator" Path="{Main.ViewStatusCommand}" Mode="OneWay"                 
                    </Button.Command>
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="Click">
                            <i:InvokeCommandAction/>
                        </i:EventTrigger>
                    </i:Interaction.Triggers>
                </Button>

我也试过这个:

<Button Style="{StaticResource StatusButtonStyle}" Command="{Binding Main.ViewStatusCommand, Source=StaticResource Locator}">

但这也不起作用。如果我没有设置命令绑定的来源,有人可以解释为什么?感谢。

1 个答案:

答案 0 :(得分:1)

你忘了第二个例子中的一些括号(并且第一个在Binding元素中缺少/&gt;)

<Button Style={StaticResource StatusButtonStyle}" Command="{Binding Main.ViewStatusCommand, Source={StaticResource Locator}}">

这是解释为什么它不起作用的原因吗?如果不是这样的话,请你描述一下你的症状(当我按下按钮时没有任何反应,有一个异常(如果是这种情况,何时,什么例外?)

如果按下按钮没有任何反应,请查看调试控制台以检索Bindings错误。