小编amb*_*g36的帖子

WPF Groupbox标题位置对齐

是否可以GroupBox Header在WPF中设置位置对齐?默认设置是放在GroupBox轮廓的左上角,但我希望它在顶部居中.我知道您可以使用以下方法设置文本的属性:

<GroupBox Grid.Row="1" HorizontalAlignment="Center">
   <GroupBox.Header> 
      <TextBlock Text="Cash Match" Foreground="Black" FontWeight="Bold"/>
   </GroupBox.Header>
</GroupBox>
Run Code Online (Sandbox Code Playgroud)

但是我希望根据GroupBox轮廓设置它的位置.

wpf header groupbox alignment

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

写入后立即从RavenDb读取会返回不一致的数据

我有一个协调过程,由后台线程定期从外部Web服务检索对象ID列表,并尝试将缺少的实体添加到嵌入式RavenDb数据库.执行此过程的循环如下:

foreach (var pageId in listOfPageIds)
{
    if ( _contentService.GetPageByPageId(pageId) == null)
    {
        _contentService.AddPage(pageId);
    }
}
Run Code Online (Sandbox Code Playgroud)

的实施GetPageByPageId()AddPage()如下:

public Page GetPageByPageId(string pageId)
{
    using (var session = DocumentStore.OpenSession())
    {
        return session.Query<Page>().FirstOrDefault(page => page.PageId == pageId);
    }
}

public bool AddPage(string pageId)
{
    var page = GetPageByPageId(pageId);
    if (page != null)
    {
        return false;
    }
    using (var session = DocumentStore.OpenSession())
    {
        var newPage = new Page() {PageId = pageId};
        session.Store(newPage);
        session.SaveChanges();
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

问题是如果列表有重复的id,一旦它添加第一个id并再次检查该id,结果将返回为空.就好像缺少一个可以注册新添加的实体的终结步骤.如果我稍后从另一个线程查询该集合,则返回具有该给定id的实体.任何人都可以看到这里的问题是什么?

谢谢,

c# database document-database ravendb

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

让AsyncController与Ninject一起使用

我试图将控制器中的某些操作转换为在使用ninject进行依赖项注入的mvc项目中异步运行.我通过继承AsyncController并将对应于'X'操作的方法更改为'XAsync'和'XCompleted'来执行这些步骤,但异步操作未得到解决.我相信这个问题与ninject有关.我试图将ninject的Controller Action Invoker明确设置为'AsyncControllerActionInvoker':

Bind<IActionInvoker>().To<AsyncControllerActionInvoker>().InSingletonScope();

但没有运气.有没有人设法让异步操作与ninject一起使用?

干杯,

asp.net-mvc asynchronous ninject

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