因为git提交需要写这次做的,所以我想弄个东西来帮我写
WPF可以使用快捷键,快捷键主要使用InputBindings,WPF读写文件很简单
我每次都要写
第一句标题
之后就是我写的修改
然后加上我名字
加上时间
有一次我修改了函数f
删除一个函数
标题是我做了工具
我需要写:
#我做了工具
修改函数f
删除函数
林德熙2016年3月16日16:43:40
这样每次写都需要加#我的名字,于是我就做了个软件
点击确定
我可以在工具.txt
我可以复制里面内容,这样可以在一个不想使用git的,直接看到每天我在做
每次按确定,我觉得还是做快捷键,做了alt+enter就是放在工具.txt
快捷键
App.xaml
<Application.Resources>
<RoutedUICommandx:Key="quedin"Text="确定"></RoutedUICommand>
</Application.Resources>
捷MainPage.xaml
使用快捷键
<Window.InputBindings>
<KeyBindingModifiers="Alt"Key="Enter"Command="{StaticResourcequedin}"></KeyBinding>
</Window.InputBindings>
我们把这个命令需要按下的键Modifiers="Alt"如果需要按ctrl+alt可以Modifiers="Control+Alt"如
后台写快捷键使用保存
privatevoidkey(objectsender,RoutedEventArgse)
{
view.text=text.Text;
view.Storage();
}
TextBoxbinding是失去焦点更新,我不想去改
<Window.CommandBindings>
<CommandBindingCommand="{StaticResourcequedin}"Executed="key"></CommandBinding>
</Window.CommandBindings>
把文件保存
using(FileStreamtemp=newFileStream(file,FileMode.Append))
{
byte[]buffer=Encoding.Default.GetBytes(text);
intn=buffer.Length;
temp.Write(buffer,0,n);
text="";
}
我使用Depend绑定文本,因为最后的text需要在后台修改,而view绑定是viewModel,前台和后台数据变化直接,可以前台使用
#region
usingSystem.Windows;
usingSystem.Windows.Data;
#endregion
namespace跨境工具箱
{
publicclassviewModel:DependencyObject
{
publicviewModel()
{
_model=newmodel();
Bindingbind=newBinding("text")
{
Source=_model,
Mode=BindingMode.TwoWay
};
BindingOperations.SetBinding(this,text_property,bind);
bind=newBinding("name")
{
Source=_model,
Mode=BindingMode.TwoWay
};
BindingOperations.SetBinding(this,name_property,bind);
bind=newBinding("time")
{
Source=_model,
Mode=BindingMode.TwoWay
};
BindingOperations.SetBinding(this,time_property,bind);
bind=newBinding("reminder")
{
Source=_model,
Mode=BindingMode.TwoWay
};
BindingOperations.SetBinding(this,reminder_property,bind);
bind=newBinding("file")
{
Source=_model,
Mode=BindingMode.TwoWay
};
BindingOperations.SetBinding(this,file_property,bind);
}
publicstaticreadonlyDependencyPropertyfile_property=DependencyProperty.Register(
"file",typeof(string),typeof(viewModel),newPropertyMetadata(default(string)));
publicstaticreadonlyDependencyPropertyreminder_property=DependencyProperty.Register(
"reminder",typeof(string),typeof(viewModel),newPropertyMetadata(default(string)));
publicstaticreadonlyDependencyPropertytime_property=DependencyProperty.Register(
"time",typeof(bool),typeof(viewModel),newPropertyMetadata(default(bool)));
publicstaticreadonlyDependencyPropertyname_property=DependencyProperty.Register(
"name",typeof(string),typeof(viewModel),newPropertyMetadata(default(string)));
publicstaticreadonlyDependencyPropertytext_property=DependencyProperty.Register(
"text",typeof(string),typeof(viewModel),newPropertyMetadata(default(string)));
publicstringfile
{
set
{
SetValue(file_property,value);
}
get
{
return(string)GetValue(file_property);
}
}
publicstringreminder
{
set
{
SetValue(reminder_property,value);
}
get
{
return(string)GetValue(reminder_property);
}
}
publicbooltime
{
set
{
SetValue(time_property,value);
}
get
{
return(bool)GetValue(time_property);
}
}
publicstringname
{
set
{
SetValue(name_property,value);
}
get
{
return(string)GetValue(name_property);
}
}
publicstringtext
{
set
{
SetValue(text_property,value);
}
get
{
return(string)GetValue(text_property);
}
}
privatemodel_model;
}
}
想要这个软件给别人用,他们可以用他们名字,可以选要不要时间
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBoxText="{BindingPath=name,Mode=TwoWay}"Grid.Column="0"Margin="10,10,10,10"></TextBox>
<CheckBoxContent="时间"Grid.Column="1"Margin="10,10,10,10"IsChecked="{BindingPath=time,Mode=TwoWay}"></CheckBox>
<ButtonGrid.Column="2"Content="确定"Margin="10,10,10,10"Click="key"></Button>
保存设置
publicvoidstorage()
{
try
{
stringstr="工具箱.txt";
using(FileStreamtemp=newFileStream(str,FileMode.Create))
{
str=file+"\n"+name+"\n"+time;
byte[]buffer=Encoding.Default.GetBytes(str);
temp.Write(buffer,0,buffer.Length);
}
}
catch(Exceptione)
{
reminder=e.Message;
}
}
这个软件我使用在宝资通
这个月准备CVTE面试,没有时间去写博客,之前在写网络编程,现在还好多问题我在找微软写的,但是他们做的好像好多没有,我看了超神的QiniuUWP,他用的我看到是HttpWebRequestSocket现在王大神就做了局域网通信,我还在看,他写的我看不明白,不是他用的高级,是没有把心放在去看他的
分享到:
相关推荐
菜单项的属性,如文本、命令、快捷键等,可以作为属性添加到元素中,如`Text="文件"`、`Command="Open"`等。 - 可以通过子元素来表示子菜单,例如`<MenuItem>`嵌套在另一个`<MenuItem>`下,以构建层次化的菜单结构...
在WPF中,我们可以通过监听键盘事件来实现快捷键的操作。例如,可以监听`KeyDown`事件,检查按下的是哪些键,并根据不同的键组合执行相应的命令。例如,使用`Control + C`组合键可以实现复制,`Control + V`则用于...
在Windows Presentation Foundation(WPF)...记得在设计时考虑易用性,例如添加键盘快捷键支持,以及考虑到不同用户对音量控制的不同需求,如静音、音量步进大小等。在实践中,不断优化和调整,以提供最佳的用户体验。
5. **优化用户体验**:除了基本功能,还可以考虑增加一些高级特性,比如自动切换数字/字母键盘、提供退格键、支持快捷键等。这将提升软键盘的实用性和易用性。 在压缩包中的`WpfKeyboardDemo`项目,很可能包含了一...
总的来说,"WPF仿Windows资源管理器"项目是一个全面的学习资源,涵盖了WPF界面设计、数据交互、键盘快捷键处理以及数据库操作等多个方面。对于想要深入理解WPF和C#开发的初学者来说,这是一个很好的实践案例。项目中...
最后,为了提供与Visual Studio类似的用户体验,我们可以集成诸如主题切换、多文档界面(MDI)支持、搜索功能以及快捷键等功能。这可能涉及到更多的WPF控件和API,如`TabControl`用于MDI,`TextBox`和`Popup`实现搜索...
同时,可以利用`CommandBinding`和`InputGesture`来添加快捷键支持,提升用户体验。 6. **布局管理**:WPF的布局系统使得`RichTextBox`可以轻松地与其他控件组合,如工具栏、状态栏等。通过`Grid`、`StackPanel`等...
5. **异常处理**:确保对可能出现的错误进行妥善处理,如文件未找到、无法读写等。 6. **运行和测试**:完成编码后,运行程序并进行各种操作测试,确保所有功能正常工作,快捷键有效。 通过以上步骤,我们就能在C#...
还可以考虑添加键盘快捷键支持,例如使用左右箭头键切换图片,上箭头键恢复原始大小,下箭头键放大到屏幕大小。 ### 7. 总结 通过上述步骤,我们可以构建一个功能完备的WPF图片浏览器,它允许用户平移、缩放和切换...
- **键盘快捷键**:添加键盘快捷键支持,方便用户操作。 通过以上介绍,我们可以看到,使用WPF和C#开发一个图片浏览器涉及到许多技术层面,包括UI设计、数据绑定、事件处理以及元数据解析。这个项目是一个很好的...
- **读写文件**:使用`FileStream`和`StreamReader/StreamWriter`类,实现打开、保存和另存为文件的功能。 - **剪切、复制和粘贴**:利用`DataObject`和`Clipboard`类实现这些常见的文本操作。 - **查找和替换**...
如果是Excel,我们可以使用OleDbConnection、OleDbDataAdapter等.NET框架提供的类来读取Excel文件,然后将数据导入数据库。如果是Entity Framework,我们可以通过DbContext和EF的DbSet对象,批量添加或更新数据到...
- 快捷键支持:常见的快捷键如“上一张”、“下一张”、“放大”、“缩小”等可以提高操作效率。 - 滑动手势:在触摸设备上,可以通过滑动手势实现图片的翻页。 - 预加载机制:为了提供平滑的浏览体验,可以预先...
5. 元数据支持:读取并显示图片的元数据,如拍摄日期、相机型号、地理位置等,这些信息可以通过WPF的数据绑定和`System.Drawing.Imaging`命名空间下的类来获取。 6. 高性能显示:WPF的位图缓存和硬件加速功能确保了...
C#中的Windows Forms或WPF框架可以用于构建这样的界面,包含各种控件如按钮、文本框和组合框,允许用户选择和输入快捷键。此外,事件驱动编程是关键,需要为每个控件绑定相应的事件处理函数,以响应用户的操作。 在...
1. **本地音乐播放**:音乐盒能够读取用户计算机上的音频文件,可能通过文件浏览器控件或拖放操作来添加音乐。这涉及到WPF的数据绑定和多媒体处理能力,如MediaElement控件用于播放音频文件,而DataGrid或ListView...
- **编辑器的扩展性**:可能讨论如何添加自定义菜单项或快捷键,以及集成语法高亮和自动完成功能。 4. **文件和流**: - **文件操作**:讲解如何读写文件,包括文本文件和二进制文件,以及文件的打开、关闭、追加...
通过这个压缩包,用户可以快速设置好Visual Studio Code,使其适应WPF开发环境,包括安装必要的插件、设置快捷键、导入预设的编译和调试配置等。这极大地提高了开发效率,尤其是在需要频繁切换项目或环境的场景下。...
7. **文本处理**:在处理用户输入或配置文件时,可能会涉及到文本解析和格式化,例如读取用户自定义的快捷键设置。 了解以上知识点后,开发者可以通过创建一个全局快捷键管理器类,注册和注销快捷键,以及处理相应...
文本编辑器的核心功能在于读取、编辑和保存文本文档,特别是.txt格式的纯文本文件。在C#中,我们可以使用`System.IO`命名空间中的`StreamReader`和`StreamWriter`类来实现这些操作。`StreamReader`用于读取文件内容...