【发布时间】:2018-03-19 23:29:03
【问题描述】:
我正在尝试编写一个命令,以便当用户单击一个按钮时,会打开一个不同的窗口。到目前为止,我的 XAML 中有这个:
<Window.CommandBindings>
<CommandBinding
Command="ApplicationCommands.Open"
CanExecute="CanOpenWindow"
Executed="OpenWindow">
</CommandBinding>
</Window.CommandBindings
和
<Button
Content="Open Another Window"
Command="ApplicationCommands.Open"
CommandParameter="????">
</Button>
在我的代码中:
Private Sub OpenWindow(sender As Object, e As ExecutedRoutedEventArgs)
Dim win As New Window
win = DirectCast(e.Parameter, Window)
win.Show()
End Sub
我不知道什么可以代替问号来完成这项工作。
PS:我认为声望点比我多的人应该创建一个名为“Commanding”的新标签。
【问题讨论】:
-
Commanding是 command...您用 Google 搜索过您的问题吗? -
@Codexer 是的,但是“command”也可以指命令窗口(这是查询网络时最常见的结果),而“commanding”是 Visual Studio 中唯一的用法。是的,我咨询了 Google 教授,但未能获得有用的信息,所以才发布了这篇文章。
-
好的,那你为什么不能直接连接一个事件呢?还有一些方法可以完成你所需要的,调解器,MVVM 等......
-
CommandParameters 用于根据某个值定义用户是否可以使用按钮。 E.G 如果用户想使用搜索功能,我不希望用户能够点击搜索按钮,除非他们在
TextBox中写了一些东西。 CommandParameters 可以帮助您检查TextBox上的值,看看它是否包含一些文本/值。 -
@Codexer 首先,如果我知道如何“连接一个事件”,我就不会发布我的问题。其次,我已经准备好必要的事件,我的问题在于唤起它。因此,您的评论没有帮助。