小编Sum*_*Guy的帖子

WPF C#以编程方式添加和移动选项卡

我目前正在做一些可能在很多例子中完成的事情.但经过一番搜索,我找不到任何东西.

我正在使用WPF选项卡控件,我正在尝试重新创建一些基本功能(您现在在所有互联网浏览器中看到)通过单击最后列出的选项卡的"+"选项卡添加新选项卡.

我已经在"+"标签中添加了一个新标签.我的问题是,我想在新选项卡之后移动'+'选项卡(因此再次显示其结束选项卡)并将视图切换到刚刚创建的新选项卡.

我想的是:

    void tiNewTab_Add(object sender, EventArgs e)
    {
        int idx = tabControl1.Items.Count;
        tabControl1.SelectedIndex = idx - 1;
        TabItem ti = new TabItemKPI();
        tabControl1.Items.Add(ti);
        tabControl1.Items.MoveCurrentToLast();
    }
Run Code Online (Sandbox Code Playgroud)

...会工作,但没有运气:(

c# wpf tabcontrol

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

在文档查看器中显示XPS文档

我正在使用文档查看器和XPS atm,因为我之前没有尝试过.所以我有一段简单的代码加载XPS文档并在文档查看器中显示它,但是文档没有出现.文档查看器加载并在调试模式下快速一步,告诉我信息在那里,它只是不会显示.

        dvDoc = new DocumentViewer();

        string fileName = null;
        string appPath = System.IO.Path.GetDirectoryName(Assembly.GetAssembly(typeof(DocumentWindow)).CodeBase);

        if (type == "About")
            fileName = appPath + @"\Documents\About.xps";

        fileName = fileName.Remove(0, 6);
        XpsDocument doc = new XpsDocument(fileName, FileAccess.Read);

        dvDoc.Document = doc.GetFixedDocumentSequence();
Run Code Online (Sandbox Code Playgroud)

我能找到的所有文献都告诉我这样做,但它似乎对我不起作用.我知道文档查看器不喜欢URI,因此是filename.remove行.

关于我缺少什么的任何建议.

干杯,SumGuy

c# wpf documentviewer xps

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

WCF-"底层连接已关闭:连接意外关闭"

当我在我的WCF Web服务上使用我的一个webmethods时,我收到了奇怪的模糊错误消息.因为该错误消息没有提供任何解释允许我发表我的理论.

我相信它可能与我正在使用的返回类型有关

我有一个类型DLL,它在Web服务和客户端都被引用.在这个DLL中是基类ExceptionMessages.这个类的一个孩子叫做Draw​​ingExcepions.

这是一些代码:

public class ExceptionMessages
{
    public object[] ReturnValue { get; set; }
}

public class DrawingExceptions : ExceptionMessages
{
    private List<DrawingException> des = new List<DrawingException>();
}

public class DrawingException
{
    public Exception ExceptionMsg { get; set; }
    public List<object> Errors { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

使用代码:

    [OperationContract]
    ExceptionMessages createNewBom(Bom bom, DrawingFiles dfs);

    public ExceptionMessages createNewBOM(Bom bom, DrawingFiles dfs)
    {
            return insertAssembly(bom, dfs);
    }

    public DrawingExceptions insertAssembly(Bom bom, DrawingFiles dfs)
    {
        DrawingExceptions des = new DrawingExceptions();

        foreach …
Run Code Online (Sandbox Code Playgroud)

c# wcf return-value derived-class

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

WPF:异步进度条

我正在尝试创建一个与主进程异步工作的进度条.我创建了一个新事件并调用它然后每次我尝试在进度条上执行操作时我收到以下错误:

"调用线程无法访问此对象,因为另一个线程拥有它"

以下代码是尝试将进度条的实例作为对象发送到事件,它显然失败了,但它让您了解代码的外观.

    private event EventHandler importing;

    void MdbDataImport_importing(object sender, EventArgs e)
    {
        ProgressBar pb = (ProgressBar)sender;
        while (true)
        {
            if (pb.Value >= 200)
                pb.Value = 0;

            pb.Value += 10;
        }
    }

    private void btnImport_Click(object sender, RoutedEventArgs e)
    {
        importing += new EventHandler(MdbDataImport_importing);
        IAsyncResult aResult = null;

        aResult = importing.BeginInvoke(pbDataImport, null, null, null);

        importing.EndInvoke(aResult);
    }
Run Code Online (Sandbox Code Playgroud)

有没有人有如何做到这一点的想法.

在此先感谢SumGuy.

c# wpf events asynchronous event-handling

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

C#返回类数组中单个变量的数组

这似乎是一个愚蠢的问题,但这是我从来没有找到答案的东西.

如果我有一个类的数组:

public class Folder
{
    public int Id { get; set; }
    public string Name { get; set; }
}

public Folder[] folders = new Folder[] {};
Run Code Online (Sandbox Code Playgroud)

有没有办法返回所有ID实例而不循环并收集它们?

如果没有,你会认​​为最好的方法是什么,以便我有一个整数数组?

提前致谢,

SumGuy

ps如果有人能够提出一个更适合这个问题的标题,那也是值得赞赏的

c# arrays

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