Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >WPF开发中常用的一些方法汇总

WPF开发中常用的一些方法汇总

作者头像
码客说
发布于 2022-06-04 09:23:23
发布于 2022-06-04 09:23:23
29100
代码可运行
举报
文章被收录于专栏:码客码客
运行总次数:0
代码可运行

颜色

设置背景色

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
System.Windows.Media.Color color = (System.Windows.Media.Color)System.Windows.Media.ColorConverter.ConvertFromString("#4597FF");
btnConfirm.Background = new SolidColorBrush(color);

项目配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/// <summary>
/// 从配置文件获取Value
/// </summary>
/// <param name="key">配置文件中key字符串</param>
/// <returns></returns>
public static string GetConfigValue(string key)
{
    try
    {
        Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
        //获取AppSettings的节点 
        AppSettingsSection appsection = (AppSettingsSection)config.GetSection("appSettings");
        return appsection.Settings[key].Value;
    }
    catch
    {
        return "";
    }
}

/// <summary>
/// 设置配置文件
/// </summary>
/// <param name="key">配置文件中key字符串</param>
/// <param name="value">配置文件中value字符串</param>
/// <returns></returns>
public static bool SetConfigValue(string key, string value)
{
    try
    {
        //打开配置文件 
        Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
        //获取AppSettings的节点 
        AppSettingsSection appsection = (AppSettingsSection)config.GetSection("appSettings");
        appsection.Settings[key].Value = value;
        config.Save();

        return true;
    }
    catch
    {
        return false;
    }
}

配置文件App.config

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <!--0正式 1测试-->
    <add key="IsDebug" value="1" />
  </appSettings>
</configuration>

ListBox

注意

点击事件不要添加在Item的模板中,除非模板中有多个可点击的项。

XAML

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<ListBox
         x:Name="type_list_lb"
         Grid.Column="1"
         Background="#f3f3f3"
         BorderThickness="0"
         ItemContainerStyle="{StaticResource ListBoxItemContainerStyle1}"
         ItemTemplate="{StaticResource typeItemDT}"
         ItemsSource="{Binding typeList}"
         Template="{StaticResource ListBoxTemplateH}"
         SelectionChanged="type_list_lb_SelectionChanged"/>

点击事件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private async void type_list_lb_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
  object sitem = type_list_lb.SelectedItem;
  if (sitem == null)
    return;

  if (sitem is ZListItemModel)
  {
    ZListItemModel item = (ZListItemModel)sitem;

    ObservableCollection<ZListItemModel> typeList = pageData.typeList;
    for (int i = 0; i < typeList.Count; i++)
    {
      ZListItemModel item_temp = typeList[i];
      if (item_temp == item)
      {
        item_temp.selected = 1;
      }
      else
      {
        item_temp.selected = 0;
      }
    }
  }
}

如果想让选中的项能够再次点击

设置选中索引即可

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
type_list_lb.SelectedIndex = -1;

多线程

线程切换

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private async Task myFunc()
{
    MyApp.Myloading.Show();
    await Task.Run(
        () =>
        {
            // 分线程耗时操作
			Thread.Sleep(1000);
        }
    );
    MyApp.Myloading.Hide();
}

延迟执行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
internal class ZDelayUtil
{
    public static void delay(int milliseconds, Dispatcher dispatcher, Action act)
    {
        Task.Run(() =>
                 {
                     Thread.Sleep(milliseconds);
                     dispatcher.Invoke(act);
                 });
    }
}

调用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ZDelayUtil.delay(
    3000, 
    Dispatcher, 
    () =>
    {
        tip_outer.Visibility = Visibility.Hidden;
    }
);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
VB.NET App.config 配置文件读写
  内置配置文件包括app.config、web.config、Settings.settings等等。
办公魔盒
2020/02/10
3.3K0
自定义WCF的配置文件
WCF的承载既可以通过编码实现,也能够通过配置实现.而且使用配置,更有利于日后的维护和扩展。我们经常会碰到这样的一个场景:需要把WCF的配置信息放在一个单独的文件中,这种情况经常出现在需要为自己开发的服务配置,需要采用独立的配置文件,而不是只能放到app.config/web.config中。.NET提供了一种机制是通过ConfigSource。例如在asp.net的在站点的默认 Web.Config 文件中使用: <appSettings configSource="customAppSetting.co
张善友
2018/01/22
9000
WPF配置文件读写
XML配置 项目配置 /// <summary> /// 读取设置 /// </summary> /// <param name="settingName"></param> /// <returns></returns> public static string GetSettingString(string settingName) { try { string settingString = ConfigurationManager.AppSettings[settin
码客说
2021/07/19
1.1K0
分享一个WPF 实现 Windows 软件快捷小工具
[1]GitHub: https://github.com/WPFDevelopersOrg/SoftwareHelper
独立观察员
2022/12/06
4380
分享一个WPF 实现 Windows 软件快捷小工具
C#操作配置文件中appSettings,connectionStrings节点「建议收藏」
using System; using System.Configuration; using System.Web; using System.Web.Configuration;
全栈程序员站长
2022/08/31
1.2K0
DotNet程序配置文件
    在实际的项目开发中,对于项目的相关信息的配置较多,在.NET项目中,我们较多的将程序的相关配置直接存储的.config文件中,例如web.config和app.config。   
彭泽0902
2018/01/04
1K0
WPF项目从.Net Framework迁移到.Net6
Nuget 安装 Microsoft.Extensions.Configuration
码客说
2022/09/28
9840
WPF项目从.Net Framework迁移到.Net6
控制反转-Ioc之Unity
本篇幅主要介绍控制反转的一些概念,和如何使用Unity实现Ioc。在介绍的时候,会尽量结合代码来讲解一些概念。
少羽大怪兽
2019/09/11
7200
控制反转-Ioc之Unity
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
应用程序配置文件,对于asp.net是 web.config,对于WINFORM程序是 App.Config(ExeName.exe.config)。 配置文件,对于程序本身来说,就是基础和依据,其本质是一个xml文件,对于配置文件的操作,从.NET 2.0 开始,就非常方便了,提供了 System [.Web] .Configuration 这个管理功能的NameSpace,要使用它,需要添加对 System.configuration.dll的引用。 对于WINFORM程序,使用 System.Conf
hbbliyong
2018/03/05
1.1K0
AOT使用经验总结
站长接触 AOT 已有 3 个月之久,此前在《好消息:NET 9 X86 AOT的突破 - 支持老旧Win7与XP环境》一文中就有所提及。在这段时间里,站长使用 Avalonia 开发的项目也成功完成了 AOT 发布测试。然而,这一过程并非一帆风顺。站长在项目功能完成大半部分才开始进行 AOT 测试,期间遭遇了不少问题,可谓是 “踩坑无数”。为了方便日后回顾,也为了给广大读者提供参考,在此将这段经历进行总结。
沙漠尽头的狼
2024/11/06
2200
AOT使用经验总结
ASP.NET MVC5+EF6+EasyUI 后台管理系统(64)-补充WebApi与Unity注入-配置文件
上一篇演示了WebApi利用Unity注入 很多人问我如何用配置文件来配置注入,本节演示如何利用配置文件来注入,道理是一样的,跳转到上一节下载源码一起来动手! 1.打开源码定位到文件Dependen
用户1149182
2018/01/16
7510
ASP.NET MVC5+EF6+EasyUI 后台管理系统(64)-补充WebApi与Unity注入-配置文件
App.config和Web.config配置文件的自定义配置节点
  昨天修改代码发现了一个问题,由于自己要在WCF服务接口中添加了一个方法,那么在相应调用的地方进行更新服务就可以了,不料意外发生了,竟然无法更新。左查右查终于发现了问题。App.config配置文件中的配置貌似出现了问题。查找节点发现是如下节点:
aehyok
2018/08/31
1.1K0
App.config和Web.config配置文件的自定义配置节点
基础才是重中之重~用好configSections让配置信息更规范
对于小型项目来说,配置信息可以通过appSettings进行配置,而如果配置信息太多,appSettings显得有些乱,而且在开发人员调用时,也不够友好,节点名称很容易写错,这时,我们有几种解决方案
跟着阿笨一起玩NET
2018/09/19
3380
基础才是重中之重~用好configSections让配置信息更规范
asp.net性能优化之使用Redis缓存(入门)
1.1对于大量的数据读取,为了缓解数据库的压力将一些不经常变化的而又读取频繁的数据存入redis缓存
张哥编程
2024/12/21
1160
ConfigurationManager姿势快闪
最近一个祖传代码是使用.NET Fx写就的,我在使用控制台程序获取配置时有些折腾。
有态度的马甲
2022/08/23
3780
C# 读写App.config配置文件的方法
一、配置文件概述: 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的。它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序。配置文件的根节点是configuration。我们经常访问的是appSettings,它是由.Net预定义的配置节。我们经常使用的配置文件的架构是客诉下面的形式。先大概有个印象,通过后面的实例会有一个比较清楚的认识。下面的“配置节”可以理解为进行配置一个XML的节点。 常见配置文件模式: <configuration> <configS
庞小明
2018/03/07
9.5K0
winform制作小工具的技巧
在使用winfrom制作一些工具的时候,一些基本设置都是去属性里面找来找去,一段时间就忘了,记录记录以备不时之需。
易墨
2018/09/14
8160
.NET Core 读取配置文件
前面写过一篇《.NET Core类库中读取配置文件》 ,当时对于.NET Core读取配置文件了解有限,这里做下补充:
雪飞鸿
2018/09/05
3.7K0
.net如何自定义config配置文件节点
本文转载:http://www.cnblogs.com/lori/archive/2013/04/03/2997617.html
跟着阿笨一起玩NET
2018/09/19
6690
.net如何自定义config配置文件节点
.net core webapi jwt 更为清爽的认证 ,续期很简单(1)
jwt认证分为两部分,第一部分是加密解密,第二部分是灵活的应用于中间件,我的处理方式是将获取token放到api的一个具体的controller中,将发放token与验证分离,token的失效时间,发证者,使用者等信息存放到config中。
FreeTimeWorker
2020/08/31
1.3K0
.net core webapi jwt 更为清爽的认证 ,续期很简单(1)
相关推荐
VB.NET App.config 配置文件读写
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验