标题有点描述不清,就当是为了方便自己用时易于搜索到。
总之需求是:显示用户信息(文字)时,允许用户编辑自己的信息。

效果图如下:
点击【编辑】按钮前:

点击【编辑】按钮后,允许编辑:

  • 别吐槽为甚性别还能再改。。。我就是意思意思这个效果
  • 使用了样式,但不是本文关注点,于是省略
  • 按钮的作用也不是本文关注点,省略

一种解决思路:
正常显示用的TextBlock,然后在它上面放一个TextBox并隐藏。点击【编辑】按钮后再显示TextBox,达到看起来像是编辑文字的效果!

前台代码:

<Grid><Grid.RowDefinitions><RowDefinition/><RowDefinition/><RowDefinition/></Grid.RowDefinitions><Grid.ColumnDefinitions><ColumnDefinition Width="60"/><ColumnDefinition Width="200"/><ColumnDefinition Width="60"/><ColumnDefinition Width="200"/></Grid.ColumnDefinitions><!-- 用户名 --><TextBlock Grid.Row="0" Grid.Column="0" Text="用户名:" FontSize="16" VerticalAlignment="Center" HorizontalAlignment="Left"/><Grid Grid.Row="0" Grid.Column="1" Margin="5" Grid.ColumnSpan="2" Height="30" VerticalAlignment="Center" HorizontalAlignment="Left"><Label x:Name="userId" FontSize="16" Width="180"/><TextBox x:Name="editUserId" FontSize="16" Width="180" Visibility="Collapsed"/></Grid><!-- 编辑 --><Grid Grid.Row="0" Grid.Column="3" Margin="10,0,10,0" VerticalAlignment="Center" HorizontalAlignment="Right"><Button x:Name="editBtn" Command="{Binding EditCommand}" Style="{StaticResource myButton1}" Content="编辑" Width="60" Height="25"/><Button x:Name="editConfirmBtn" Command="{Binding EditConfirmCommand}" Style="{StaticResource myButton1}" Content="确定" Width="60" Height="25" Margin="0,0,0,1" Visibility="Collapsed"/><Button x:Name="editCancelBtn" Command="{Binding EditCancelCommand}" Style="{StaticResource myButton1}" Content="取消" Width="60" Height="25" Margin="-70,0,70,0" Visibility="Collapsed"/></Grid><!-- 昵称 --><TextBlock Grid.Row="1" Grid.Column="0" Text="昵称:" FontSize="16" VerticalAlignment="Center" HorizontalAlignment="Left"/><Grid Grid.Row="1" Grid.Column="1" Margin="5" Grid.ColumnSpan="2" Height="30" VerticalAlignment="Center" HorizontalAlignment="Left"><Label x:Name="nickName" FontSize="16" Width="180"/><TextBox x:Name="editNickName" FontSize="16" Width="180" Visibility="Collapsed"/></Grid><!-- 性别 --><TextBlock Grid.Row="1" Grid.Column="2" Text="性别:" FontSize="16" VerticalAlignment="Center" HorizontalAlignment="Left"/><Grid Grid.Row="1" Grid.Column="3" Margin="5" Height="30" VerticalAlignment="Center" HorizontalAlignment="Left"><Label x:Name="sex" FontSize="16" Width="180"/><StackPanel Orientation="Horizontal"><RadioButton x:Name="editSexMale" GroupName="sex" Content="男" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="0" Visibility="Collapsed"/><RadioButton x:Name="editSexFemale" GroupName="sex" Content="女" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="30,0,0,0" Visibility="Collapsed"/></StackPanel></Grid>
</Grid>

这里【编辑】、【确认】、【取消】三个按钮的Command绑定到点击事件,就是控制这三个按钮组的显隐和TextBox的显隐切换,实现界面效果后再添加数据的修改和上传逻辑。

【C#/WPF】TextBlock/TextBox/Label编辑文字的问题相关推荐

  1. WPF——【关键字:WPF】TextBox输入框提示文字

    1.效果 2.代码 <!--输入框--><TextBox Name="textBoxUserName" Width="200" Height= ...

  2. WPF中给文本框TextBox设置提示文字

    <TextBlock Text="模板名称" Margin="20" ></TextBlock><TextBox x:Name=& ...

  3. WPF TextBlock自定义内容_se7en3_新浪博客

    要用到WPF打印,在画界面的时候一段文字内需要有空格,下划线填空,如果用多个TextBlock或者Label拼接的话放在WarpPanel里面排列会因为控件长度问题产生有的行没填满就换行. 只能放在一 ...

  4. WPF实现TextBox水印效果

    原文:WPF实现TextBox水印效果 在日常项目中,一个TextBox需要输入用户名,我们通常的做法是先用一个TextBlock来说明,例如下面的截图: 今天将使用另外一种方式来展示,使用水印的方式 ...

  5. Wpf解决TextBox文件拖入问题、拖放问题

    在WPF中,当我们尝试向TextBox中拖放文件,从而获取其路径时,往往无法成功(拖放文字可以成功).造成这种原因关键是WPF的TextBox对拖放事件处理机制的不同, 解放方法如下: 使用Previ ...

  6. PyQt4 做界面,编辑文字 QtGui.QLabel遇到文字显示不出来

    说在前面 python2.7 + PyQt4 提示框(类似Message Box). PyQt4 做界面,编辑文字使用QtGui.QLabel,文字过长显示不出来. pyqt新手入门,csdn上各种解 ...

  7. C#WPF实现TextBox控件水印效果的两种实现方法

    C#WPF实现TextBox控件水印效果的两种实现方法 在WPF实际项目中往往需要在TextBox中加入水印,来告诉使用者输入TextBox中的内容,如下图片所示: 下面介绍两种方式,来添加上图中的水 ...

  8. 【Microsoft Word】编辑文字后,图片位置混乱的解决方法

    [Microsoft Word]编辑文字后,图片位置混乱的解决方法 参考文章: (1)[Microsoft Word]编辑文字后,图片位置混乱的解决方法 (2)https://www.cnblogs. ...

  9. SwiftUI编辑文字和图片

    SwiftUI编辑文字和图片 1.文字拼接图片 (Text(Image("imageName"))+Text("text")).font(.system(siz ...

最新文章

  1. Python+Django+SAE系列教程14-----使表单更安全
  2. Alfred+AppleScript实现快速复制当前文件夹路径
  3. ICML2021|超越SE、CBAM,中山大学开源SAM:无参Attention!
  4. 简单的FTP应用程序
  5. 自动配置jdk_JDK 15中自动自动发送更好的NullPointerException消息
  6. 工作285:判断绑定逻辑
  7. html用函数输出nn乘法表,第5讲 PHP编程.ppt
  8. JQuery EasyUI datagrid 键盘上下控制选中行
  9. html表格怎么改圆角边框,Table元素设置圆角border
  10. 7 centos 查看程序文件数量_MongoDB最大连接数(centos7应用程序最大打开文件数)设置失效的异常分析过程与解决方法...
  11. curl basic 认证
  12. Sqlite3实现脏读
  13. 显微镜下的大明——第一个故事
  14. 英雄联盟英雄皮肤抓取
  15. 脱壳笔记-手工脱FSG压缩壳
  16. PyInstaller来将python程序打包成exe程序及其图标自定义以及ico文件的简单制作
  17. volatile修饰变量java_volatile 关键字(修饰变量)
  18. 链表-双向链表(C语言)
  19. iOS 非越狱下的代码注入
  20. 洛谷 P1423 小玉在游泳 AC

热门文章

  1. (建议收藏)第一人称视角带你走进 Vue 源码世界
  2. matlab :检测文档图片中的字母l
  3. “阿里日”102 对新人举办集体婚礼,张勇证婚:“又热,又爱”!
  4. 如何下载生物数据(四):SRA数据下载
  5. 自动扫福脚本(Android版)
  6. Yann LeCun,牛人也!
  7. P30鸿蒙ota升级,MotoP30 摩托罗拉P30 XT1943-1 线刷包 救砖解锁 CN_OPEN_USER_Q00020.0_O_ZUI_4.0.249...
  8. GTC 2017现场直击:以人工智能的名义搞一场黑科技的盛会!
  9. 新人如何快速上手项目管理?
  10. Python数字、字符串、数组之间的相互转换