在我的UserControl中,我在画布内绘制了一些路径
为了打开此UserControl的控制面板,我使用了InputBindings:
<UserControl.InputBindings>
<MouseBinding Gesture="LeftClick" Command="{Binding OpenControlPanelCommand}"/>
</UserControl.InputBindings>
这仅在我单击绘制的路径时有效。实际上,我希望所有UserControl的表面不仅可以单击绘制部分,而且可以单击。
我设置了用户控件的背景,但是它不起作用
如何更改此行为?
答案 0 :(得分:0)
这对我有用:
<UserControl …
Background="Transparent"
>
<UserControl.InputBindings>
<MouseBinding Gesture="LeftClick" Command="{Binding OpenControlPanelCommand}"/>
</UserControl.InputBindings>
<Canvas>
<Path Data="M0,0L25.194,16 0,32z" Stretch="Fill"
Height="100"
Width="100"
Fill="Black"/>
</Canvas>
</UserControl>
我在窗口中找到它
<Window.DataContext>
<local:MainWindowViewModel/>
</Window.DataContext>
<Grid>
<local:UserControl1/>
</Grid>
虚拟机的相关部分:
using …
using GalaSoft.MvvmLight.CommandWpf;
namespace wpf_99
{
public class MainWindowViewModel : INotifyPropertyChanged
{
public ICommand OpenControlPanelCommand { get; set; } = new RelayCommand(() => MessageBox.Show("Hello World"));
您的用户控件是否填充了您期望的区域?
您的命令绑定正确吗?
除了点击之外,还有什么东西