小编Met*_*urf的帖子

棱镜4:RequestNavigate()不起作用

我正在构建一个演示应用程序来学习Prism 4的导航功能.该应用程序有两个模块 - 每个模块有三个视图:

  • 带有文本块的UserControl("欢迎使用模块A")
  • 一个RibbonTab(使用Region Adapter),和
  • Outlook样式的任务按钮(如Outlook的邮件,日历等)

Shell有三个命名区域:"RibbonRegion","TaskButtonRegion"和"WorkspaceRegion".视图加载到这些区域.为了测试基本设置,我使用Prism Region Manager注册了所有三个视图,以便它们在启动时加载,并且所有操作都按预期工作.

接下来,我修改了设置,以便在启动时只加载任务按钮.其他视图将仅在请求时加载,方法是单击任务按钮.我的模块初始化器看起来像这样:

public void Initialize()
{
    /* We register the Task Button with the Prism Task Button Region because we want it
     * to be displayed immediately when the module is loaded, and for the lifetime of
     * the application. */

    // Register Task Button with Prism Region
    m_RegionManager.RegisterViewWithRegion("TaskButtonRegion", typeof(ModuleATaskButton));

    /* We register these objects with the Unity container because we don't want them
     * instantiated until we navigate to …
Run Code Online (Sandbox Code Playgroud)

c# prism prism-4

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

将TFS 2010历史记录导出到Excel或文本文档

如何从TFS 2010导出包含用户,日期和完整注释(未截断)的历史记录?

例如,在团队资源管理器中:右键单击团队成员名称>显示签入历史记录.这将显示用户的登记历史记录,但评论会被截断.

tfs export

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

如何使用XmlDocument向根元素添加多个名称空间?

我需要创建一个XmlDocument包含多个名称空间的根元素.我使用的是C#2.0或3.0

这是我的代码:

XmlDocument doc = new XmlDocument();
XmlElement root = doc.CreateElement("JOBS", "http://www.example.com");
doc.AppendChild(root);

XmlElement job = doc.CreateElement("JOB", "http://www.example.com");
root.AppendChild(job);  

XmlElement docInputs = doc.CreateElement("JOB", "DOCINPUTS", "http://www.example.com");
job.AppendChild(docInputs);  

XmlElement docInput = doc.CreateElement("JOB", "DOCINPUT", "http://www.example.com");
docInputs.AppendChild(docInput);  

XmlElement docOutput = doc.CreateElement("JOB", "DOCOUTPUT", "http://www.example.com");
docOutputs.AppendChild(docOutput);  
Run Code Online (Sandbox Code Playgroud)

目前的输出:

<JOBS xmlns="http://www.example.com">
  <JOB>
    <JOB:DOCINPUTS xmlns:JOB="http://www.example.com">
      <JOB:DOCINPUT />
    </JOB:DOCINPUTS>
    <JOB:DOCOUTPUTS xmlns:JOB="http://www.example.com">
      <JOB:DOCOUTPUT />
    </JOB:DOCOUTPUTS>
  </JOB>
</JOBS>
Run Code Online (Sandbox Code Playgroud)

但是,我想要的输出是:

<JOBS xmlns:JOBS="http://www.example.com" xmlns:JOB="http://www.example.com">
  <JOB>
    <JOB:DOCINPUTS>
      <JOB:DOCINPUT />
    </JOB:DOCINPUTS>
  <JOB:DOCOUTPUTS>
    <JOB:DOCOUTPUT />
  </JOB:DOCOUTPUTS>
  </JOB>
</JOBS>
Run Code Online (Sandbox Code Playgroud)

我的问题:我如何创建一个XmlDocument包含多个名称空间的根元素?

.net c# xml xmldocument namespaces

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

如何在C#中的属性或const上访问Description属性?

如何访问const或属性上的Description属性,即

public static class Group
{

    [Description( "Specified parent-child relationship already exists." )]
    public const int ParentChildRelationshipExists = 1;

    [Description( "User is already a member of the group." )]
    public const int UserExistsInGroup = 2;

}
Run Code Online (Sandbox Code Playgroud)

要么

public static class Group
{

    [Description( "Specified parent-child relationship already exists." )]
    public static int ParentChildRelationshipExists { 
      get { return 1; } 
    }

    [Description( "User is already a member of the group." )]
    public static int UserExistsInGroup { 
      get { return 2; } …
Run Code Online (Sandbox Code Playgroud)

.net c# attributes

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

WPF StoryBoard.Completed事件未触发

关闭主窗口之前我有一个动画,如下面的代码所示.问题是StoryBoard.Completed没有解雇.是什么原因引起了这个?

DoubleAnimation dblAnimX = new DoubleAnimation(1.0, 0.0, new  Duration(TimeSpan.FromSeconds(0.5)));
dblAnimX.SetValue(Storyboard.TargetProperty, this);

DoubleAnimation dblAnimY = new DoubleAnimation(1.0, 0.0, new Duration(TimeSpan.FromSeconds(0.5)));
dblAnimY.SetValue(Storyboard.TargetProperty, this);

Storyboard story = new Storyboard();
Storyboard.SetTarget(dblAnimX, this);
Storyboard.SetTarget(dblAnimY, this);
Storyboard.SetTargetProperty(dblAnimX, new PropertyPath("RenderTransform.ScaleX"));
Storyboard.SetTargetProperty(dblAnimY, new PropertyPath("RenderTransform.ScaleY"));

story.Children.Add(dblAnimX);
story.Children.Add(dblAnimY);
story.Begin(this);

story.Completed += (o, s) => { this.Close(); };
Run Code Online (Sandbox Code Playgroud)

.net c# wpf storyboard

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

使用DoFn使用Cloud Dataflow从PubSub写入Google云端存储

我正在尝试使用Google Cloud Dataflow将Google PubSub消息写入Google云端存储.我知道TextIO/AvroIO不支持流媒体管道.但是,我在[1]中读到,可以ParDo/DoFn通过作者的评论在流式传输管道中写入GCS .我尽可能地按照他们的文章构建了一条管道.

我的目标是这种行为:

  • 消息以最多100个批次写入GCS中的对象(每个窗口窗格一个),该路径对应于发布消息的时间dataflow-requests/[isodate-time]/[paneIndex].

我得到了不同的结果:

  • 每小时窗口中只有一个窗格.因此,我只在每小时"桶"中获得一个文件(它实际上是GCS中的对象路径).将MAX_EVENTS_IN_FILE减少到10没有区别,仍然只有一个窗格/文件.
  • 每个GCS对象中只有一条消息被写出
  • 写入GCS时,管道偶尔会引发CRC错误.

我如何解决这些问题并获得我期待的行为?

示例日志输出:

21:30:06.977 writing pane 0 to blob dataflow-requests/2016-04-08T20:59:59.999Z/0
21:30:06.977 writing pane 0 to blob dataflow-requests/2016-04-08T20:59:59.999Z/0
21:30:07.773 sucessfully write pane 0 to blob dataflow-requests/2016-04-08T20:59:59.999Z/0
21:30:07.846 sucessfully write pane 0 to blob dataflow-requests/2016-04-08T20:59:59.999Z/0
21:30:07.847 writing pane 0 to blob dataflow-requests/2016-04-08T20:59:59.999Z/0
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

package com.example.dataflow;

import com.google.cloud.dataflow.sdk.Pipeline;
import com.google.cloud.dataflow.sdk.io.PubsubIO;
import com.google.cloud.dataflow.sdk.options.DataflowPipelineOptions;
import com.google.cloud.dataflow.sdk.options.PipelineOptions;
import com.google.cloud.dataflow.sdk.options.PipelineOptionsFactory;
import com.google.cloud.dataflow.sdk.transforms.DoFn;
import com.google.cloud.dataflow.sdk.transforms.ParDo;
import com.google.cloud.dataflow.sdk.transforms.windowing.*;
import com.google.cloud.dataflow.sdk.values.PCollection;
import com.google.gcloud.storage.BlobId;
import com.google.gcloud.storage.BlobInfo;
import …
Run Code Online (Sandbox Code Playgroud)

google-cloud-storage google-cloud-pubsub google-cloud-dataflow

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

复合应用的最佳日志记录方法?

我正在创建一个复合WPF(Prism)应用程序,它有几个不同的项目(Shell,模块等).我正准备使用Log4Net实现日志记录.似乎有两种方法来设置日志记录:

  • 让Shell项目完成所有实际的日志记录.它获取对Log4Net的引用,其他项目触发复合事件,让Shell知道它需要记录一些东西.这些项目仅针对在Shell的app.config文件(DEBUG,ERROR等)中打开日志记录的级别触发事件,以免降低性能.

  • 为每个项目(包括模块)提供Log4Net引用,让项目自己记录到公共日志文件,而不是向Shell发送消息以进行日志记录.

哪种方法更好?或者,我应该考虑另一种方法吗?谢谢你的帮助.

c# logging log4net prism

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

Android:使用Context.startService和PendingIntent.getService启动服务

Context.startService

Intent intent = new Intent(context, MyService.class);
context.startService(intent);
Run Code Online (Sandbox Code Playgroud)

PendingIntent.getService

Intent intent = new Intent(context, MyService.class);
PendingIntent pi = PendingIntent.getService(context, 0, intent, 0);
pi.send();
Run Code Online (Sandbox Code Playgroud)


问题

  1. 您何时可以使用Context.startService与PendingIntent启动服务?
  2. 你为什么要用另一个呢?

android android-intent android-context android-pendingintent

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

在Composite WPF(Prism)中,IRegion.Add和IRegionManager.RegisterViewWithRegion有什么区别?

Composite WPF(Prism)中,当向IRegionManger集合添加模块时,使用IRegion.Add和IRegionManager.RegisterViewWithRegion有什么区别?

IRegion.Add

public void Initialize()
{
    _regionManager.Regions["MainRegion"].Add( new ModuleAView() );
}
Run Code Online (Sandbox Code Playgroud)

IRegionManager.RegisterViewWithRegion

public void Initialize()
{
    _regionManager.RegisterViewWithRegion( "MainRegion", typeof( ModuleAView ) );
}
Run Code Online (Sandbox Code Playgroud)

prism cag

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

Android小部件:在小部件添加到屏幕之前显示配置活动

我有一个Android Widget,它使用Web服务来检索和显示小部件上的数据.窗口小部件具有配置活动extends PreferenceActivity.安装窗口小部件后,配置活动就会立即启动,这是此窗口小部件的所需行为.

问题是,无论何时将小部件添加到主屏幕,小部件都会在配置活动开始/完成之前尝试更新自身,这可能会导致长时间延迟(几秒钟).配置活动应在窗口小部件在添加新窗口小部件时尝试自行更新之前发生.

以下是添加窗口小部件时我在LogCat中看到的事件序列:

  1. Widget.onRecive:action = APPWIDGET_ENABLED
  2. Widget.onEnabled
  3. Widget.onReceive:action = APPWIDGET_UPDATE
  4. Widget.onUpdate:Widget服务已启动.
  5. WidgetService.onStartCommand:潜在的长时间运行工作会延迟配置活动立即显示.
  6. WidgetConfiguration.onCreate
  7. Widget.onReceive:action = APPWIDGET_UPDATE
  8. Widget.onUpdate:Widget Service再次启动
  9. WidgetService.onStartCommand:可能再次执行长时间运行的工作.

发生的事情是,添加窗口小部件后,服务将在显示配置视图之前启动.

的Manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="xxx.xxx.xxxwidget"
    android:versionCode="1"
    android:versionName="@string/app_version" >

    <uses-sdk android:minSdkVersion="8" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:debuggable="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <receiver android:name="xxxWidget" >
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>

            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/widget_info" />
        </receiver>

        <activity android:name="xxxWidgetConfigure" >
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <service android:name="xxxWidgetService" />
    </application> …
Run Code Online (Sandbox Code Playgroud)

android android-widget android-manifest android-preferences sharedpreferences

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