0
我有一个CustomControl以下XAML:放在哪里交互触发的ControlTemplate
<Style TargetType="{x:Type itvw:ItemView}">
<Setter Property="Focusable" Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type itvw:ItemView}">
<Border>
<Grid>
<TextBox/>
</Grid>
</Border>
<ControlTemplate.Triggers>
<!--triggers-->
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我想用交互/ EventToCommand捕捉整个CustomControl keyDown事件。
喜欢的东西:
<i:Interaction.Triggers>
<i:EventTrigger EventName="KeyDown">
<cmd:EventToCommand Command="{Binding KeyDownCommand, Mode=OneWay}" PassEventArs="True"/>
</i:EventTrigger>
</i:Interaction.Triggers>
我的问题是 - 我放在控件模板标记触发器在哪里?我想要做的这相当于在后面的代码:
this.KeyDown += ItemView_KeyDown;
感谢。有什么不同?如果我在边框中放置鼠标点击事件,文本框似乎总是关注并且事件不会触发(我试图单击来选择ItemView,然后再点击一下开始编辑文本框)。 – jidl 2015-03-25 05:01:30
也是第一个选项抱怨ControlTemplate不是从DependencyObject派生的。有任何想法吗? – jidl 2015-03-25 05:29:31
@jidl你找到了解决这个问题的解决方案吗? – 2017-05-15 11:50:31