我有这个xaml代码:
UserData
搜索方法如下:
public class CancelScorable : ScorableBase<IActivity, string, double>
{
private readonly IDialogTask task;
public CancelScorable(IDialogTask task)
{
SetField.NotNull(out this.task, nameof(task), task);
}
protected override async Task<string> PrepareAsync(IActivity activity, CancellationToken token)
{
// Accessing info, for example here UserData:
var userData = await activity.GetStateClient().BotState.GetUserDataAsync(activity.ChannelId, activity.From.Id);
// ... add your treatment
return null;
}
// ...
}
MainCommands:
LOCAL_MAC_ADDRESS
但是如果我在焦点位于文本框中时按Enter键,则绑定不是计算机,而LastName是空的。是什么原因?我怎么能避免这个?或者是否可以显式调用绑定操作?
提前谢谢。
答案 0 :(得分:0)
我可以看到你的Window
是一个视图模型。我建议您使用MVVM并为视图模型设置单独的类,您可以在ICommand
上放置所需的CommandParameter
并使用KeyBinding
:
<TextBox x:Name="searchBox"
Text="{Binding LastName}">
<TextBox.InputBindings>
<KeyBinding Key="Enter"
Command="{Binding Path=SearchCommand}"
CommandParameter="{Binding Path=Text, ElementName=searchBox}" />
</TextBox.InputBindings>
</TextBox>