问题列表 - 第21421页

使用ElementHost在Winform应用程序中托管WPF UserControl有什么不利之处?

好奇如果使用ElementHost在Winform应用程序中托管WPF UserControl 有什么缺点吗?

我问,因为总的来说我觉得我需要花很多时间创建一个新的WPF应用程序,其基本界面看起来不错.从某种意义上讲,如果我创建一个新的Winforms应用程序并对其进行一些控制,我最终会得到一个基本界面,其外观和行为类似于许多其他应用程序,但看起来并不简单.如果我对WPF应用程序做同样的事情,我觉得我没有达到相同的结果,我最终得到一个白色背景的"普通"应用程序,除非我将角色更改为设计师并花费额外的时间使其看起来确定办法.

但是有些情况下WPF对我来说是可取的,因为它相对容易创建一个风格化的界面.考虑视频播放器控件; 在WPF中,我可以创建看起来非常漂亮和自定义的东西,但比Winforms控件花费的时间和精力要少得多.在这些情况下,我使用WPF是有道理的,因为我最终花费的时间少于覆盖OnPaint的时间:-).

我意识到我使用了很多主观术语,但这是我在原始问题背后的推理.

更新:

只是为了澄清我的"视频播放器控制"示例.WPF不仅可以让我MediaElement玩,而且如果我想说,暂停时在视频上叠加一个播放按钮,或者我想要一个半透明的"播放/暂停/停止/音量"栏来显示鼠标在某个位置,WPF比任何Winforms替代方案都简单得多.

编辑:

也许我有一个错误的配置选项或者其他东西,但是当我查看WPF与Winforms控件时,"描述"部分的消失也令人沮丧.更加令人沮丧的是,在WPF属性表单中按F1并不会将您带到您所在的特定属性/事件.

更新:

还有谁?我更关注通过在ElementHost中托管WPF UserControl而引入的性能影响和/或功能限制.到目前为止,它听起来像是运行时的一次性开销,但这就是全部吗?

.net wpf user-controls elementhost winforms

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

如何让WiX主要升级工作?

我正在努力在WiX中启用主要的升级功能.

我希望安装程序的每个新版本都是主要升级(完全卸载,然后是新安装),因为我们不需要不同的升级和干净安装版本.

我开始试图使用标签的东西,但我一直得到"另一个版本已安装." 运行安装程序时出现错误消息.

所以我实现了V3.5中添加的新标签,使升级更容易.我仍然收到错误消息.

然后,我在某处读到您需要更改每个新版本的Id GUID.所以我设置Id ="*"来让WiX生成它们.

现在,当我安装较新版本时,它不会卸载旧版本,最终会对同一文件夹进行两次安装.我解决了这个问题,因为运行MSI(新的或旧的)会调出修复/删除屏幕.

该程序也没有被新版本覆盖.

这是我的WiX脚本的开始:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">

    <Product Id="*"
             Name="Foo"
             Language="1033"
             Codepage="1252"
             Version="!(bind.FileVersion.Foo.exe)"
             Manufacturer="Foo Bar Ltd."
             UpgradeCode="dac2fab2-7d76-4e47-b25f-0748380dab81">

        <Package
                 Description="Foo"
                 Comments="This installer database contains the logic and data required to install Foo."
                 InstallerVersion="300"
                 Languages="1033"
                 SummaryCodepage="1252"
                 Platform="x86"
                 Compressed="yes" />

        <!-- Remove older versions -->
        <!-- Important note: MSI ignores the last version digit 1.0.0.? when comparing versions, so always change at least the 3rd digit for new external releases-->
        <MajorUpgrade DowngradeErrorMessage="The version currently …
Run Code Online (Sandbox Code Playgroud)

windows-installer wix upgrade

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

Visual Studio中的常规设置

只是想知道是否有办法让Visual Studio 2008 Express Edition生成由我的应用程序的安装程序创建的普通 exe文件?

我厌倦了ClickOnce应用程序文件.我已经设置了所有这些文件关联,现在我需要为我的应用程序实际安装一个安装程序,代码中的文件关联设置不起作用,因为现在它们是"ClickOnce"应用程序文件而不是普通的exe文件.不,VS并不会在所有的应用程序的ClickOnce创建的任何exe文件.

任何帮助深表感谢

谢谢 :)

c# clickonce executable visual-studio winforms

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

我需要多少测试Moose-和MooseX :: FollowPBP生成的方法?

我想严格开始测试驱动开发.但是,我想知道我应该测试多少Moose和MooseX :: FollowPBP生成的方法.例如,我有以下类:

package Neu::Series;
use Moose;
use MooseX::FollowPBP;

use File::Find::Wanted;

has 'file_regex' => (
    isa=>'RegexpRef',
    is=>'rw',
    default => sub{
                 qr{
                   [A-Z]       #Uppercase letter
                   [a-zA-Z]*   #any letter, any number of times
                   [-]         #dash
                   (           #open capturing parenthesis
                   [0-9]
                   [0-9]
                   [0-9]
                   [0-9]
                   [a-zA-Z]?   #any letter, optional
                   )           #close capturing parenthesis
               }xms;
           },
);


has 'top_dir' => (
    isa=>'Str',
    is=>'rw',
);


has 'access' =>(
    isa=>'Neu::Access',
    is=>'ro',
    required=>1,

);

1;
Run Code Online (Sandbox Code Playgroud)

我目前的测试脚本是:

use strict;
use warnings;
use Test::More tests => 8;
use Neu::Access;

BEGIN{ …
Run Code Online (Sandbox Code Playgroud)

testing tdd perl moose

5
推荐指数
2
解决办法
402
查看次数

C# - 用户设置已损坏

在阅读标准.Net用户设置时,我们遇到了罕见的异常(这是VS 2008中"项目属性"中的设置):

System.Configuration.ConfigurationErrorsException was caught
  Message="Configuration system failed to initialize"
  Source="System.Configuration"
  BareMessage="Configuration system failed to initialize"
  Line=0
  StackTrace:
       at System.Configuration.ConfigurationManager.PrepareConfigSystem()
       at System.Configuration.ConfigurationManager.GetSection(String sectionName)
       at System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName)
       at System.Diagnostics.DiagnosticsConfiguration.GetConfigSection()
       at System.Diagnostics.DiagnosticsConfiguration.Initialize()
       at System.Diagnostics.DiagnosticsConfiguration.get_IndentSize()
       at System.Diagnostics.TraceInternal.InitializeSettings()
       at System.Diagnostics.TraceInternal.get_Listeners()
  InnerException: System.Configuration.ConfigurationErrorsException
       Message="Unexpected end of file has occurred. The following elements are not closed: setting, SettingsTest.Properties.Settings, userSettings, configuration. Line 7, position 1. (C:\\Documents and Settings\\USER\\Local Settings\\Application Data\\Hitcents\\SettingsTest.vshost.exe_Url_ghwhc20utv4toanuinmj0pfsljthcugo\\1.0.0.0\\user.config line 7)"
       Source="System.Configuration"
       BareMessage="Unexpected end of file has occurred. The following elements are not closed: setting, SettingsTest.Properties.Settings, …
Run Code Online (Sandbox Code Playgroud)

.net c# settings application-settings

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

JAXB使用java.lang.Object字段编组对象

我正在尝试编组一个对象作为其字段之一的对象.

@XmlRootElement
public class TaskInstance implements Serializable {
   ...
   private Object dataObject;
   ...
}
Run Code Online (Sandbox Code Playgroud)

dataObject可以是许多不同类型的未知类型之一,因此指定每个地方不仅不切实际而且不可能.当我尝试编组对象时,它表示该类不为上下文所知.

MockProcessData mpd = new MockProcessData();
TaskInstance ti = new TaskInstance();
ti.setDataObject(mpd);

String ti_m = JAXBMarshall.marshall(ti);
Run Code Online (Sandbox Code Playgroud)

"MockProcessData及其任何超类都不为此所知." 就是我得到的.

有没有办法解决这个错误?

java jaxb

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

将新项添加到WPF ListBox时的滑动效果

我有一个WPF ListBox控件,显示RSS源的项目.我偶尔会检查RSS源的来源以获取新项目.一旦我检测到一个新项目,我就将它添加到observable集合中,该集合立即将新项目添加到ListBox显示中.

有没有办法从顶部"滑入"新项目,推倒现有项目?我怎么会达到这样的效果?可以使用ListBox完成,还是需要使用我自己的容器,例如StackPanel和动画,例如以编程方式添加新控件的高度?

wpf listbox observablecollection effect

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

Scala:String Chomp

Scala有一个API来对String进行"chomp"吗?我想将字符串"abcd \n"转换为"abcd"

谢谢Ajay

scala

5
推荐指数
2
解决办法
3140
查看次数

为什么要使用JSP/Servlets?

我使用PHP(程序和OO)进行了大量的Web开发.在过去的几年里,我参与了嵌入式系统的Java开发(而不是JSP和Servlets).我非常精通使用Java SE,并且最近获得了一个不错的Web开发工作.我正在考虑使用JSP和Servlets开发这个站点,但这完全是为了我自己使用Java的知识进展.是否有任何真正的理由在PHP或ASP等上使用JSP和Servlet?问题是许多托管公司不提供例如Tomcat或其他JSP服务器,如果他们这样做,那就太贵了.

对于任何反馈,我们都表示感谢.

GF

hosting jsp servlets

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

适用于iPhone的网络时间协议

我正在编写一个需要精确计时的应用程序.在提出这个问题后,我决定使用NTP或简单的NTP进行调查.

iPhone的这些协议是否有任何开源实现?到目前为止,我已经设法找到一个断开的链接.我也知道NTP有一个C参考实现,所以我试图看看它需要多少努力才能使它在iPhone上运行.

更新:我认为我有一个工作链接,但它是Wayback机器,它只保存文本,而不是文件链接工作.

iphone ntp

27
推荐指数
2
解决办法
2万
查看次数