标签: command

WPF MVVM从ViewModel在视图上触发事件的正确方法

在我的WPF应用程序中,我有2个Windows(两个Windows都有自己的ViewModel):

  1. 应用程序的主窗口,显示带有一堆单词的列表(绑定到MainViewModel)

  2. 允许用户将新项添加到列表中的对话窗口(绑定到AddWordViewModel)

MainViewModel具有List的Items属性(此集合由其中一个服务类填充)绑定到Main Window的ListBox

AddWordViewModel具有绑定到"添加单词对话框"的"保存"按钮的SaveWordCommand.它的任务是获取用户输入的文本并将其传递给服务类.

用户单击"保存"按钮后,我需要通知MainViewModel从服务中重新加载文章.

我的想法是在MainViewModel中公开public命令并从AddWordViewModel执行它

实施它的正确方法是什么?

谢谢!

.net wpf binding command mvvm

20
推荐指数
1
解决办法
2万
查看次数

锁定/解锁Windows站时运行命令/脚本?

我有Windows 7专业版.我的问题是我一直忘记输入/输出时钟(使用内联网时间表系统).有没有办法运行脚本或命令,以便每次锁定/解锁我的工作站时自动打开时间表页面?

windows scripting command locking unlock

20
推荐指数
1
解决办法
4万
查看次数

是否可以使用Linux命令从HTTP服务器只读取前N个字节?

这是个问题.

给定网址http://www.example.com,我们可以读取页面外的前N个字节吗?

  • 使用wget,我们可以下载整个页面.
  • 使用curl,有-r,0-499指定前500个字节.似乎解决了这个问题.

    您还应该知道许多HTTP/1.1服务器没有启用此功能,因此当您尝试获取范围时,您将获得整个文档.

  • 在python中使用urlib.类似的问题在这里,但根据康斯坦丁的评论,这是真的吗?

    上次我尝试这种技术时失败了,因为实际上不可能只从HTTP服务器读取指定数量的数据,即你隐式读取所有HTTP响应,然后只读出它的前N个字节.所以最后你最终下载了整个1Gb恶意响应.

所以问题是我们如何在实践中从HTTP服务器读取前N个字节?

问候和谢谢

linux url command http

20
推荐指数
2
解决办法
1万
查看次数

如何确定R中的当前目录名?

我遇到的唯一解决方案是使用正则表达式并递归替换第一个目录,直到得到一个没有斜杠的单词.

gsub("/\\w*/","/",gsub("/\\w*/","/",getwd()))
Run Code Online (Sandbox Code Playgroud)

有什么稍微优雅的吗?(而且更便携?)

command r dirname

20
推荐指数
2
解决办法
1万
查看次数

Sublime Text 2中的"关闭其他"命令快捷方式

我正在尝试添加"关闭其他"选项卡的快捷方式,但似乎无法找到命令,这是我正在尝试的:

{ "keys": ["super+alt+w"], "command": "close_others" }
Run Code Online (Sandbox Code Playgroud)

Cmd+ Option+ W- 在OS X中有点像Cmd+ Option+ H,关闭除当前选项卡以外的所有选项,请参阅?

无论如何,close_others似乎没有做任何事情.我已经试过close_other_windows,close_other_tabs,没有什么工作.这样做的正确命令是什么?

虽然我们正在使用它,但您如何知道可用的命令?我的下一个将是Cmd+ Option+ Shift+ W- "向右关闭标签".

对于Sublime窗口管理的一些改进,请参阅" 在Sublime Text中关闭所有选项卡,但不关闭窗口 "

谢谢!

command keyboard-shortcuts sublimetext sublimetext2

20
推荐指数
2
解决办法
5019
查看次数

将DoubleClick命令从DataGrid行绑定到VM

我有一个Datagrid,并且不喜欢我的解决方法在我的viewmodel上为单击的(也就是选定的)行触发双击命令.

视图:

   <DataGrid  EnableRowVirtualization="True"
              ItemsSource="{Binding SearchItems}"
              SelectedItem="{Binding SelectedItem}"
              SelectionMode="Single"
              SelectionUnit="FullRow">

        <i:Interaction.Triggers>
            <i:EventTrigger EventName="MouseDoubleClick">
                <cmd:EventToCommand Command="{Binding MouseDoubleClickCommand}" PassEventArgsToCommand="True" />
            </i:EventTrigger>
        </i:Interaction.Triggers>
        ...
  </DataGrid>
Run Code Online (Sandbox Code Playgroud)

视图模型:

    public ICommand MouseDoubleClickCommand
    {
        get
        {
            if (mouseDoubleClickCommand == null)
            {
                mouseDoubleClickCommand = new RelayCommand<MouseButtonEventArgs>(
                    args =>
                    {
                        var sender = args.OriginalSource as DependencyObject;
                        if (sender == null)
                        {
                            return;
                        }
                        var ancestor = VisualTreeHelpers.FindAncestor<DataGridRow>(sender);
                        if (ancestor != null)
                        {
                            MessengerInstance.Send(new FindDetailsMessage(this, SelectedItem.Name, false));
                        }
                    }
                    );
            }
            return mouseDoubleClickCommand;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我想在我的视图模型中删除与视图相关的代码(具有依赖项对象和可视树帮助器的代码),因为这会以某种方式破坏可测试性.但另一方面,这种方式我避免当用户没有点击一行而是在标题上发生某些事情时.

PS:我试着看一下附加的行为,但是我无法在工作中从Skydrive下载,所以"内置"解决方案最好.

wpf binding datagrid command mvvm

20
推荐指数
3
解决办法
3万
查看次数

如何使用C函数执行Shell内置命令?

我想通过像execv()这样的C语言函数执行Linux命令"pwd".

问题是没有一个名为"pwd"的可执行文件,我无法执行"echo $ PWD",因为echo也是一个没有可执行文件的内置命令.

c shell command exec pwd

20
推荐指数
3
解决办法
10万
查看次数

-n选项,在Linux中使用ECHO命令

在Linux中使用-n选项和ECHO命令有什么用.

echo -n
Run Code Online (Sandbox Code Playgroud)

请给我回答详细说明.

linux command

20
推荐指数
1
解决办法
4万
查看次数

"在/ usr/bin中/ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ;?

我在unix版本6 的if.c中找到了这一行.

ncom = "/usr/bin/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
Run Code Online (Sandbox Code Playgroud)

为什么有那么多x?你为什么要这样设置?

c command

20
推荐指数
1
解决办法
1017
查看次数

使用C++执行CMD命令

在我的项目中,我想执行一些CMD命令.使用C++执行此操作的语法是什么.

c++ windows command cmd

20
推荐指数
2
解决办法
7万
查看次数

标签 统计

command ×10

binding ×2

c ×2

linux ×2

mvvm ×2

windows ×2

wpf ×2

.net ×1

c++ ×1

cmd ×1

datagrid ×1

dirname ×1

exec ×1

http ×1

keyboard-shortcuts ×1

locking ×1

pwd ×1

r ×1

scripting ×1

shell ×1

sublimetext ×1

sublimetext2 ×1

unlock ×1

url ×1