我想创建一个绑定到动态资源的组合框,并且有一个自定义的xaml预先指定的列表保持在顶部.我知道如何将组合框绑定到动态资源,
<ComboBox Name="comboBox1" Width="Auto" ItemsSource="{Binding}" />
Run Code Online (Sandbox Code Playgroud)
我知道如何插入静态项(请参阅WPF - 将静态项添加到组合框).
<ComboBox Text="Is not open">
<ComboBoxItem Name="cbi1">Item1</ComboBoxItem>
<ComboBoxItem Name="cbi2">Item2</ComboBoxItem>
<ComboBoxItem Name="cbi3">Item3</ComboBoxItem>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)
但我不知道如何同时做两件事?
注意:很明显,有很多不同的方法可以使用自定义小部件等来实现这一点,我只是觉得这应该很容易.
这是一个有点深奥的问题,关于在使用IoC容器时如何公开构造构造函数.我正在使用java,Guice和Junit4,但我确信这个问题更为通用.
根据Guice文档中的最佳实践,它说"尽可能隐藏构造函数".这是我非常同意的,所以我很乐意继续将我的构造函数设为私有并依赖Guice进行实例化.
但是,这会带来模拟类和单元测试的问题.如果我的所有构造函数都是私有的,那么如何在单元测试中实例化某些东西并传入一个模拟的依赖项呢?必须为每个单元测试创建一个新的Guice模块对我来说似乎有些过分.因此,我必须将这些构造函数公之于众.
这让我想到了这个问题:鉴于DI与单元测试相结合是如此有用,Guice文档中关于保持构造函数隐藏的最佳实践实际上是一个错误吗?