【发布时间】:2020-08-08 05:27:51
【问题描述】:
我这里有个小问题,我必须在基本的 WPF 记事本中打开(读取)一个文本文件,但我必须使用 ICommand 接口。问题是,当我选择要打开的 txt 文件时,什么也没有发生,我只看到一个空的记事本。有什么解决办法吗?代码如下:
public class OpenCommand : ICommand
{
public bool CanExecute(object parameter)
{
return true;
}
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
OpenFileDialog op = new OpenFileDialog();
op.Filter = "textfile|*.txt";
op.DefaultExt = "txt";
if(op.ShowDialog() == true)
{
File.ReadAllText(op.FileName);
}
}
}
也许绑定不是我现在真的不知道。
<MenuItem Header="File" >
<MenuItem Header="New"/>
<MenuItem Header="Open..." Command="{Binding MyOpenCommand}" CommandParameter="{Binding ElementName=textbox2, Path=Text}"/>
<MenuItem Header="Save..." Command="{Binding MySaveCommand}" CommandParameter="{Binding ElementName=textbox2, Path=Text}"/>
<Separator/>
<MenuItem Header="Exit..." Command="{Binding MyExitCommand}"/>
</MenuItem>
有绑定,我想在“textbox2”中查看文件
<TextBox x:Name="textbox2" DockPanel.Dock="Left"
Grid.IsSharedSizeScope="True"
AcceptsReturn="True"/>
【问题讨论】:
-
你没有将
File.ReadAllText(op.FileName);结果赋值给任何变量