현재 시스템 트레이 아이콘의 컨텍스트 메뉴에서 텍스트 상자를 사용하려고합니다.
문제는 텍스트 상자가 keydown 이벤트에 반응하지 않는다는 것입니다. 즉, 내 텍스트 상자에 텍스트를 삽입 할 수 없다는 의미입니다.C# WPF MVVM - 시스템 트레이 아이콘의 텍스트 상자
private RelayCommand<KeyEventArgs> _KeyDown;
public RelayCommand<KeyEventArgs> KeyDown
{
get
{
if (_KeyDown == null)
{
_KeyDown = new RelayCommand<KeyEventArgs>(delegate(KeyEventArgs e)
{
//Functionality that you need to perform on this event
});
}
return _KeyDown;
}
}
귀하의 XAML가 나타납니다 : "초기"뷰 모델의 참조를 반환 ViewModelLocator (로케이터)의 속성이 여기라고 가정
<tb:TaskbarIcon x:Name="NotifyIcon" ToolTip="App" IconSource="/Images/MyIcon.ico" >
<tb:TaskbarIcon.ContextMenu>
<ContextMenu MaxWidth="180">
<MenuItem Width="auto" Header="Template">
<MenuItem.HeaderTemplate>
<DataTemplate>
<StackPanel Width="auto" Height="auto" Orientation="Horizontal" >
<TextBox Height="20" Text="{Binding Initial.textBoxText, Source={StaticResource Locator}, Mode=TwoWay}" HorizontalAlignment="Left"
Name="txtNumberFromTrail" VerticalAlignment="Center" Width="105" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="KeyDown">
<cmd:EventToCommand Command="{Binding Initial.KeyDown, Source={StaticResource Locator}}"
PassEventArgsToCommand="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>
</StackPanel>
</DataTemplate>
</MenuItem.HeaderTemplate>
</MenuItem>
</ContextMenu>
</tb:TaskbarIcon.ContextMenu>
</tb:TaskbarIcon>
? 일반 텍스트 키 또는 특수 키 (예 : 화살표 키)? – thumbmunkeys