小编Jer*_*olt的帖子

你能在<Windows.Resources>中定义一个ResourceDictionary.MergedDictionary和其他(本地)资源吗?

我想在我的Windows.Resources中引用MergedDictionary和本地声明的资源.但是,我收到此错误:

"添加到IDictionary的所有对象必须具有Key属性或与其关联的其他类型的键."

是否可以将本地资源与导入的资源混合在同一个Window.Resources中?

XAML是:

 <Window.Resources>
    <CollectionViewSource x:Key="cvsData" Source="{Binding Path=Data}">
        <CollectionViewSource.GroupDescriptions>
            <PropertyGroupDescription PropertyName="Country"/>
        </CollectionViewSource.GroupDescriptions>           
    </CollectionViewSource>

    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary x:Name="images" Source="pack://application:,,,/CoreWpfControls;component/Images.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)

谢谢杰里米

wpf resourcedictionary

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

如何避免安全处理已关闭

我在测试中有以下代码:

 private void LoadIncomeStatementViewModel()
    {
        using (var evt = new AutoResetEvent(false))
        {
            EventHandler handler = (sender, e) => evt.Set();

            _incomeStatementViewModel.Loaded -= handler;
            _incomeStatementViewModel.Loaded += handler;
            _incomeStatementViewModel.LoadDataCommand.Execute(null);
            evt.WaitOne();
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在,如果我运行以下测试

[Test]
public void Test()
{
   LoadIncomeStatementViewModel();
   // do something

   LoadIncomeStatementViewModel();
   // do something
}
Run Code Online (Sandbox Code Playgroud)

第二次调用LoadIncomeStatementViewModel()时,我在EventHandler处理程序中收到"安全句柄已被处置"错误消息=(sender,e)=> evt.Set();

当方法第二次重新运行时,using语句肯定会重新初始化evt.我觉得这可能与Resharper Test Runner(Nunit 2.7)有关....

有关如何解决这个问题的任何想法?

谢谢杰里米

c# handle autoresetevent

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

标签 统计

autoresetevent ×1

c# ×1

handle ×1

resourcedictionary ×1

wpf ×1