我在我的XAML中使用第三方树元素,我想从中添加元素到我自己的树控件中。这是通过一个绑定到Command" TransferClick"的按钮完成的 现在要从第三方树控件获取元素,我需要理想地将它作为命令参数传递,这是我被卡住的地方。
我的XAML看起来像这样:
<Window>
<Window.DataContext>
<this:MeasurementConfig />
</Window.DataContext>
<Grid>
<SystemStorageUI:StorageChannelAndAliasBrowser x:Name="sdfBrowser"/>
<TreeView x:Name="fileTree"/>
<Button x:Name="trnsfrButton"
Command="{Binding TransferClick}"
CommandParameter="{Binding}"/>
</Grid>
</Window>
现在,当我使用CommandParameter="{Binding}"
时,我在&#34; Execute&#34;中得到了一个MeasurementConfig类型的对象。我的RelayCommand : ICommand
课程的方法。这是有意义的,因为它是我的DataContext
当我使用CommandParameter="{Binding sdfBrowser}"
时,我确定为空。
如何通过&#34; sdfBrowser&#34;对象?
答案 0 :(得分:0)
您可以在窗口标记中设置窗口名称,并通过CommandParameter="{Binding ElementName=YourWindowName}"
将窗口作为参数传递。如果您只想要视图的特定属性,则可以在视图中实现与此特定属性的接口,而不是如上所述在CommandParameter中的绑定窗口,但在viewModel中将接口作为参数。
答案 1 :(得分:0)
似乎缺少ElementName关键字:
CommandParameter =“{Binding ElementName = sdfBrowser}”工作。