小编Dou*_*ell的帖子

当我需要"刷新"或"更新"视图时,为我的ViewModel中的每个属性调用RaisePropertyChanged()是不好的做法吗?

我目前使用反射来获取特定类型或访问级别的类中的所有属性名称.然后我通过RaisePropertyChanged()运行它们来基本上"更新"整个视图.

我执行此操作的实例是在启动时,程序启动时以及实例化ViewModel时,它将运行此实例以确保视图显示模型中的所有正确数据.

这样做有什么不对吗?

代码,如果你们想要它:

    private void InitializeViewModel()
    {
        foreach (string name in MiscMethods.GetPropertyNames(this))
        {
            RaisePropertyChanged(name);
        }
    }

    public static IEnumerable<string> GetPropertyNames(Object yourClass)
    {
        foreach (PropertyInfo property in GetProperties(yourClass))
        {
            yield return property.Name;
        }
    }

    //Uses Reflection to return all properties in a class
    private static IEnumerable<PropertyInfo> GetProperties(Object theObject)
    {
        return theObject.GetType().GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.FlattenHierarchy | System.Reflection.BindingFlags.Instance);
    }
Run Code Online (Sandbox Code Playgroud)

c# wpf performance mvvm

3
推荐指数
1
解决办法
438
查看次数

Power Query:解析大于 24 小时的 HH:MM:SS 持续时间

我正在尝试从 Excel 中的另一个数据源查询数据,并且在任何大于24:00:00.

Expression.Error:我们无法解析 Duration 文字。详细信息:51:33:08

我如何正确地拥有 excel 解析持续时间,例如128:22:13持续时间?

编辑:

数据目前是文本HH:MM:SS格式。我正在使用 Excel 查询工具从外部源导入数据。没有代码,我不想转换工作表中的单元格。这些转换是查询工具的一部分:

在此处输入图片说明

excel powerquery

3
推荐指数
2
解决办法
4121
查看次数

VSCode显示.vue导入时“无法找到模块” TS错误,编译时未

简而言之,vscode在模块中显示此错误:

找不到模块'@ / components / SidebarToggleIcon'

但是在编译期间不会出现此类错误。

这是一个VueJS项目,并且SidebarToggleIcon是.vue此<script lang="ts">部分中带有TypeScript 的文件。之前在VSCode中以及在编译期间都出现了此错误,直到我添加了@vue/eslint-config-typescript软件包。现在只是显示在VSCode中。

侧边栏

<script lang="ts">
// [skip other imports]
import SidebarToggleIcon from '@/components/SidebarToggleIcon';

@Component
export default class LayoutSidebar extends Vue {

    get sidebarCollapsed(): boolean {
        return preferenceModule.sidebarCollapsed;
    }
}

</script>
Run Code Online (Sandbox Code Playgroud)

SidebarToggleIcon.vue

<script lang="ts">
import Vue from 'vue';
import { getModule } from 'vuex-module-decorators';
import Component from "vue-class-component";
import PreferencesStore from '@/store/PreferencesStore';

const preferenceModule: PreferencesStore = getModule(PreferencesStore);

@Component
export default class SidebarToggleIcon extends Vue { …
Run Code Online (Sandbox Code Playgroud)

typescript vue.js visual-studio-code

3
推荐指数
8
解决办法
2217
查看次数

LINQ查询中的三元运算符未按预期工作

我正在尝试根据某些条件过滤对象列表.我已经看到一些帖子在他们的LINQ查询中使用三元运算符来实现这一目标.

在这段代码的底部是我的LINQ查询.我希望它能够测试每一个where,相反它似乎只是尝试第一个where并留下其余部分.在List不包含我期望它的数据.我究竟做错了什么?

    private ObservableCollection<LogEvent> m_LogEvents = ApplicationData.MainLogEntries.LogEvents;
    public ObservableCollection<LogEvent> LogEvents
    {
        get { return m_LogEvents; }
        set { m_LogEvents = value; RaisePropertyChanged("LogEvents"); }
    }

    private bool m_ViewDebugLogs = false;
    public bool ViewDebugLogs
    {
        get { return m_ViewDebugLogs; }
        set { m_ViewDebugLogs = value; RaisePropertyChanged("ViewDebugLogs"); FilterList(); }
    }

    private bool m_ViewErrorLogs = true;
    public bool ViewErrorLogs
    {
        get { return m_ViewErrorLogs; }
        set { m_ViewErrorLogs = value; RaisePropertyChanged("ViewErrorLogs"); FilterList(); }
    }

    private bool m_ViewInfoLogs = …
Run Code Online (Sandbox Code Playgroud)

c# linq filter

2
推荐指数
1
解决办法
316
查看次数

无论apply_source_formatting如何,TinyMCE都会添加新行("\n")

TinyMCE正在\n为我的文本添加段落标签.无论apply_source_formatting设置值如何.

即.

来源文字:

<blockquote><div class="cite">Person said:</div><div class="message"><p>ffgfgf</p></div></blockquote>
Run Code Online (Sandbox Code Playgroud)

TinyMCE将其重新格式化为:

<blockquote>\n<div class=\"cite\">Person said:</div>\n<div class=\"message\">\n<p>ffgfgf</p>\n</div>\n</blockquote>\n<p id=\"mce_1\">&nbsp;</p>
Run Code Online (Sandbox Code Playgroud)

我怎样才能让TimyMCE停止添加这样的新行字符?提交文本时,它真的会混淆另一端的格式.

javascript tinymce

2
推荐指数
1
解决办法
1858
查看次数

Google Apps脚本UrlFetchApp在URL存在时返回404

我正在尝试检索电子表格的pdf.每当我尝试时,我都会收到以下错误:

https://docs.google.com/a/firstcallres.com/spreadsheets/d/1ZPcW5cOQT5w28VUbr_JG9U-r7m6Uf-MDQcSmFOyhbE8/export?exportFormat=pdf&format=pdf&size=letter&portrait=false&fitw=true&source=labnol&sheetnames=false&printtitle=false&pagenumbers=false&gridlines申请失败= false&fzr = false&gid = 1680655368返回代码404.

如果我在登录时点击上述URL,则下载PDF.

如果我使用以下代码,我将获得一个登录页面作为响应.这URL是工作表网址,url_ext是参数.

var response = UrlFetchApp.fetch(url + url_ext);
Run Code Online (Sandbox Code Playgroud)

如果我将以下代码与OAuth令牌一起使用,我会收到404响应.

  var response = UrlFetchApp.fetch(url + url_ext, {
          headers: {'Authorization': 'Bearer ' +  ScriptApp.getOAuthToken() }
          });
Run Code Online (Sandbox Code Playgroud)

为什么会这样?如何使用令牌通过应用程序脚本访问工作表以检索PDF?

编辑:它已经自发地开始研究我的测试应用程序脚本.但是,如果我在另一个应用程序脚本中创建完全相同的功能,则会再次出现404错误.

我做了一些更多的故障排除,并将工作功能直接复制粘贴到新的应用程序脚本项目中.该功能成功运行,之后非工作功能正常运行.

在失败和工作之间没有对非工作功能进行过编辑.

编辑2:我可以重现这个错误:如果我采用我的第二个工作函数,并将其复制 - 粘贴到一个新项目中,它将失败并出现404错误.我不知道为什么会发生这种情况,但是当它在其他地方使用完全相同的代码工作时,我可以成功地重现404错误.

javascript pdf google-apps-script

1
推荐指数
1
解决办法
1182
查看次数