当前位置:首页 » 网页前端 » 如何把后台的程序切换到前端
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

如何把后台的程序切换到前端

发布时间: 2023-04-27 21:23:14

㈠ linux怎么把后台运行的程序切换到前端显示

nohup 程序名 >> output.txt & 其中,output.txt 是把程序输出重定向到文件里。 今后可以查看程序输出内容。

㈡ WPF怎么从后台页面替换前台页面的控件模板(ItemTemplate)

看得出你的意思,你使用了mvvm模式,然后希望在viewmodel内部切换前端的DataTemplate。因为viewmodel理论上是不引用前端的,所以你肯定无法访问前端任何一个DataTemplate。所以你可以这样做:

  1. 把你需要在ViewModel中切换的DataTemplate切换到程序的资源字典中,资源字典也就是wpf的ResourceDictionary,你的ViewModel是可以访问到的。

  2. 在ViewModel中设置一个String类型的属性,例如SelectedTemplate,用于之后的模板切换。

  3. 在你前端的ItemTemplate位置绑定这个SelectedTemplate属性,但你需要一个Converter来辅助样式的切换。

    <ListBox ItemTemplate ="{Binding Path=SelectedTemplate, Converter={StaticResource StringToDataTemplateConverter}}">

  4. 这个Converter你可以这么写:

    :IValueConverter
    {
    publicobjectConvert(objectvalue,TypetargetType,objectparameter,CultureInfoculture)
    {
    returnInternalConvert(value,targetType,parameter);
    }

    publicobjectConvertBack(objectvalue,TypetargetType,objectparameter,CultureInfoculture)
    {
    ();
    }

    publicobjectInternalConvert(objectvalue,TypetargetType,objectparameter)
    {
    if(value==null)
    {
    returnnull;
    }

    varresources=Application.Current.Resources.MergedDictionaries.ToList();

    foreach(vardictinresources)
    {
    foreach(varobjkeyindict.Keys)
    {
    if(objkey.ToString()==value.ToString())
    {
    returndict[objkey]asDataTemplate;
    }
    }
    }

    returnnull;
    }
    }
    这样一来前端的ItemTemplate就可以和ViewModel的SelectedTemplate完成绑定,你更改SelectedTemplate的值,你的Converter就会在资源字典中查找对应的DataTemplate了。