小编Dan*_*rik的帖子

WPF TextBlock动态粗体和斜体部分

我正在使用MVVM模式,我的ModelView中有字符串类型属性.

该字符串可能包含以下HTML标记:

<b>, </b>, <i>, </i>  
Run Code Online (Sandbox Code Playgroud)

我需要在TextBlock中将文本的某些部分设置为普通,粗体或斜体.

目前我已经创建了一个解决方法,一个帮助方法,其工作方式如下:

  1. 将HTML字符串分解为多个部分

  2. 创建Run类的实例

  3. 根据标记,设置FontWeight或FontStyle属性

  4. 将Run类的实例添加到TextBlock的Inlines集合中

此解决方案有效,但与MVVM模式不兼容.

我在考虑使用Convertors,但我不确定应该绑定哪个TextBlock属性.

您怎么看?这个问题怎么解决?

wpf binding mvvm

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

.NET OpenXML SDK 2 RunProperties 为 Null

我正在尝试阅读 Word 2007 docx 文档。

该文档在 Word 中看起来不错,但是当我尝试使用我的代码读取 id 时,所有 Run 对象都将 RunProperites 设置为 null。

我最感兴趣的属性是 RunProperies.FontSize,但不幸的是它也是 null,我可以访问的唯一属性是 InnerText。

我的代码如下所示:

using (WordprocessingDocument doc = WordprocessingDocument.Open(filename, true))
{
    MainDocumentPart mainPart = doc.MainDocumentPart;
    IList<Paragraph> paragraphList = doc.MainDocumentPart.Document.Body.Elements<Paragraph>().ToList<Paragraph>();

    foreach (Paragraph pr in paragraphList)
    {   
        IList<Run> runList = pr.Elements<Run>().ToList<Run>();
        foreach (Run r in runList)
        {
            // Some logic
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经将我的文档最小化到尽可能简单,它看起来像这样http://dl.dropbox.com/u/204110/test.docx

我有类似的文件,可以很好地阅读。OpenXML SDK 2 中是否可能存在错误?

有没有人遇到过类似的问题?任何帮助将不胜感激。谢谢你!

.net word-2007 docx openxml openxml-sdk

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

nHibernate使用Criteria API进行多对多查询

在询问之前,我已经查看了有关此主题的所有相关帖子

我也读过这篇博文:http://ayende.com/Blog/archive/2007/12/23/NHiberante-Querying-Many-To-Many-associations-using-the-Criteria-API.aspx

我有团队,我有会员,他们之间有多对多的关系

基本上:会员 - > MemberTeam < - 团队

通过我的查询,我尝试将所有属于同一团队的成员作为查询成员(包括查询成员)

我使用Follow FluentHibernate创建了我的表:

TeamMap代码:

Id(x => x.ID).GeneratedBy.GuidComb().UnsavedValue("00000000-0000-0000-0000-000000000000");

HasManyToMany(x => x.Members)
    .Table("MemberTeam")
    .ChildKeyColumn("TeamID")
    .ParentKeyColumn("MemberID");
Run Code Online (Sandbox Code Playgroud)

MemberMap代码:

Id(x => x.ID).GeneratedBy.GuidComb().UnsavedValue("00000000-0000-0000-0000-000000000000");

HasManyToMany(x => x.Teams)
    .Table("MemberTeam")
    .ChildKeyColumn("MemberID")
    .ParentKeyColumn("TeamID");
Run Code Online (Sandbox Code Playgroud)

我查询的代码是:

DetachedCriteria dCriteria = DetachedCriteria.For(typeof(Team), "team")
    .SetProjection(Projections.Id())
    .Add(Property.ForName("team.ID").EqProperty("mt.ID"));

ICriteria criteria = Session.CreateCriteria(typeof (Member), "member")
    .CreateAlias("Teams", "mt")
    .Add(Subqueries.Exists(dCriteria))
    .Add(Restrictions.Eq("mt.MemberID", new Guid(memberID)));

IList<Member> list = criteria.List<Member>();
Run Code Online (Sandbox Code Playgroud)

我知道我做错了什么,但我无法理解它是什么

任何帮助,将不胜感激

非常感谢你!

PS我的地图接缝很好,我可以保存对象就好了!

nhibernate many-to-many criteria fluent-nhibernate

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

ASP.NET MVC在登录/注销时更改默认路由

我有一个非常简单的要求.

如果用户访问http://www.somedomain.com/并且未登录,我希望MVC将用户路由到HomeController.

如果用户去http://www.somedomain.com/和登录,我想MVC路由用户ClientController.

这个问题有一个简单的解决方案吗?

非常感谢你!

c# asp.net-mvc routing routes

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

WPF ListView非活动选择颜色和元素字体颜色

我可以设置ListView非活动选择颜色

我使用了以下问题中描述的解决方案

WPF ListView非活动选择颜色

我需要更改所选非活动元素的字体颜色,有没有简单的方法来实现这一点?

谢谢

.net wpf listbox listboxitem

4
推荐指数
2
解决办法
4410
查看次数

LinQ以对象形式对GroupBy(),按金额对Sum()对象

我有一个非常简单的案例,我开始使用foreach()解决,但后来我认为我可以使用Linq.

基本上我有IList包含PaymentTransaction对象,有2个属性DealerAmount.

我想GroupBy()通过DealerSum()通过Amount.

我尝试使用以下代码完成此操作,但不幸的是它不起作用:

var test = paymentTransactionDao.GetAll().GroupBy(x => x.Dealer).Sum(x => x.Amount);
Run Code Online (Sandbox Code Playgroud)

我到底错在了什么?

.net linq linq-to-objects grouping

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

AutoMapper可以限制映射或映射的深度

AutoMapper非常棒,节省了大量时间,但当我开始查看应用程序的性能时,AutoMapper负责性能损失.

我正在使用NHibernate的延迟加载.大多数情况下,需要父实体而根本不需要访问子实体.实际上,发生的事情是AutoMapper尝试映射尽可能多的关系,导致NHibernate延迟加载所有子实体(我看到SELECT N + 1一直在发生).

有没有办法限制AutoMapper的深度,或者AutoMapper可以懒惰地映射子实体?

nhibernate lazy-loading automapper

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

具有Ninject依赖注入的ASP.NET MVC应用程序中的MongoDB官方C#驱动程序

有没有人有一个代码示例遵循在ASP.NET MVC应用程序中使用Ninject的MongoDB官方C#驱动程序的最佳实践?

我看起来像这样:

namespace WebApp
{
    public class DataModule : NinjectModule
    {
        public override void Load()
        {
            var conventions = new ConventionProfile().SetElementNameConvention(new CamelCaseElementNameConvention());
            BsonClassMap.RegisterConventions(conventions, x => true);

            var server = MongoServer.Create(connectionString);
            var database = server.GetDatabase("webapp");
            Bind<MongoDatabase>().ToConstant(database);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

由于这段代码是单身,我对此感觉不好:|

谢谢

.net c# asp.net-mvc ninject mongodb

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

WPF On Start检测进程是否已启动并将应用程序置于最前面

我有一个非常简单的问题.

程序启动后,用户尝试启动另一个实例.新实例需要将旧实例放在前面并退出.

解决方案非常简单,我可以从http://www.codeproject.com/KB/cs/oneprocessonly.aspx获取代码并完成它.

幸运/不幸的是我正在使用WPF.这意味着,我无法控制Main()方法的内容.

我找到了解决这个问题的方法"如何在我的WPF应用程序中提供自己的Main()方法?" @ http://learnwpf.com/Posts/Post.aspx?postId=a5643949-ab80-47f9-93c8-f5e8e5782d34.

但是,当没有App.xaml文件时,这个解决方案会带来像Expression Blend统计数据这样的另一个问题.

我可以使用App类OnStarted事件,但我正在使用WPF的启动画面资源,这意味着将显示额外的启动画面.

我对这种方法的最后一个担忧是接缝不能"面向未来"给我:(.

这个问题有没有WPF风格的解决方案?

先感谢您.

.net c# wpf process

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

从 GPS 坐标记录计算圈数

我有一个包含大量点(按时间排序的经度和纬度)的 GPX 文件,我如何计算我的集合包含多少圈?

GPS 是在赛道比赛期间记录的。

圈数是车辆通过赛道起点/终点的次数。

algorithm geometry gps gpx

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