随笔分类 - WPF
摘要:效果如图 上图中,最下方TextBlock控件的Visibility属性由ComboBox和CheckBox的值共同决定,当ComboBox选择“是”,CheckBox被勾选时,Visibility属性为可见的,其余情况为不可见。 关键代码 <local:MultiBinding2Converter
阅读全文
摘要:关键代码 var template = checkBox1.Template; var myControl = template.FindName("textBlock1", checkBox1); var tb = myControl as TextBlock; tb.Background = n
阅读全文
摘要:效果如图: 关键代码 实现动画 <Grid x:Name="LayoutRoot" Background="Transparent" ToolTip="Searching...." HorizontalAlignment="Center" VerticalAlignment="Center"> <C
阅读全文
摘要:效果如图: 关键代码 ListView的DataTemplate是一个单一折叠项的内容 ItemsControl是一个列表的内容,之前列表使用DataGrid,但加载速度慢,所以改为ItemsControl <ListView Name="listView" HorizontalAlignment=
阅读全文
摘要:效果如图: 完成功能是读取菜单的配置文件,加载菜单,点击选项后,动态生成UI控件并加载到TabControl中 关键代码 //这里可以动态加载其他dll文件中的组件 Assembly assem = Assembly.LoadFile($"{Directory.GetCurrentDirectory
阅读全文
摘要:效果如图: 根据下拉框fieldTypeComboBox,控制其他控件的显隐 关键代码 <ComboBox Grid.Column="1" Grid.Row="2" DataContext="{Binding FieldTypeEnumInfos}" ItemsSource="{Binding }"
阅读全文
摘要:/// <summary> /// 行、列从0开始计数 /// </summary> /// <param name="rowIndex"></param> /// <param name="columnIndex"></param> /// <param name="dg"></param> //
阅读全文
摘要:代码树状多选 可以选择任意节点的树 只能选择子节点的树 代码树状单选
阅读全文
摘要:定义控件可以使用FrameworkElementFactory,也可以使用XmlReader FrameworkElementFactory的用法 为DataGrid添加一列,列的每个单元格包含修改、删除两个按钮 DataGridTemplateColumn dataGridTemplateColu
阅读全文
摘要:效果 实现代码 <Grid> <ProgressBar Value="50" Name="pbStatus"/> <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding ElementName
阅读全文
摘要:前端写法 获得每行的数据类对象,比如Employee <Path Data="{Binding DataContext, RelativeSource={RelativeSource AncestorType=DataGridRow}, Converter={StaticResource MmsDa
阅读全文
摘要:使用ContentControl实现多用户控件间的切换 多个用户控件共用一个VM eg.银行系统分多个表单(页面)填写信息后,统一提交 效果如图: 源代码和demo链接
阅读全文
摘要:动态生成DataGrid,包括分页、checkbox、动态绑定数据列、动态生成按钮并绑定事件、允许泛型数据类 最新效果图: 效果如下: 使用只需要配置即可: <datagridwithpages:DataGridWithPage Grid.Row="0" Name="table"></datagri
阅读全文
摘要:示例代码 "DataGridBindMultiData.xaml" "DataGridBindMultiData.xaml.cs" 参考资料 "WPF DataGridTemplateColumn添加按钮" "WPF中DataGrid控件内Button的Command和CommandParamete
阅读全文
摘要:Border默认透明,不响应MouseDown等事件 点击会从透明的Border穿过到下一个控件=.=(所以和ZIndex无关) 设置Background才能“点击”成功,响应MouseDown事件 同理可推导,有时候需要设置容器背景为“白色”,有时候需要设置为“透明”(Transparent),看
阅读全文
摘要:实现效果 实现思路 根据整体高宽等比缩放纸张大小以显示 进行业务上的编辑 出图的时候,等比恢复图片大小至目标纸张大小 示例代码 PrintImage 的 PrintImageWithPageSettingWindow2
阅读全文
摘要:效果如图 打印结果 private string outputDic { get { return $"{AppDomain.CurrentDomain.BaseDirectory}\\Temp\\"; } } private void PrintImage(object sender, Route
阅读全文
摘要:效果: 主窗体打开弹窗ModifyTextDialog 窗体事件: 示例代码 "MoveAndResizeControl" 的 文本框,右键“修改文字内容”
阅读全文
摘要:效果: 下面是右上方文本框的源代码,其他效果请前往 "github示例代码" 查看 Element.cs 示例代码 "MoveAndResizeControl" 参考资料 "How to change size of WPF controls at runtime"
阅读全文
摘要:效果: 需要Label/textblock的文字大小随resize改变,则使用Viewbox 参考资料 "How to set textblock or label with resizable font size in WPF?"
阅读全文