我有一个画布,例如与使用ItemsControl的
this solution或许多其他类似.
现在我想要一个应该绑定到ICommand的按钮.此命令应调用viewmodel类的方法,该方法可以保存图像.
保存方法很明确,但如何在MVVM模式之后进行绑定?
解决方法
您可以使用CommandParameter将Canvas传递给viewmodel的Save方法
<Button Content="Save" Command="{Binding SaveCanvasCommand}" CommandParameter="{Binding ElenementName=myCanvas}" ?> <Canvas x:Name="myCanvas"> <!-- Stuff to save --> </Canvas>
在你的viewmodel或Command中的某个地方
void SaveCanvasCommandExecute(object parameter) { UIElement toSave = (UIElement)parameter; //.. You'd probably use RenderTargetBitmap here to save toSave. }