小编Wal*_*tiD的帖子

如何触发属性更改的故事板

我希望有一个故事板开始,每当MyCounter变化的价值.
用一个DataTrigger我只能触发一个特定的值.

<DataTemplate.Triggers>
    <DataTrigger Binding="{Binding Path=MyCounter}" Value="Doesn't matter">
            <BeginStoryboard Storyboard="{StaticResource myStoryboard}"/>
    </DataTrigger>
</DataTemplate.Triggers>
Run Code Online (Sandbox Code Playgroud)

wpf datatrigger storyboard

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

如何在单元测试中模拟夏令时转换?

我有一个代码,用于比较上一个时间戳和实际时间戳.如果实际时间戳在最后一个时间戳之前,则系统时间已被操纵.由于从夏令时过渡到夏令时,我使用UTC.
现在我想为这种特殊情况编写单元测试.

public void TransitionFromDSTToNonDST()
{
    var dayLightChangeEnd= TimeZone.CurrentTimeZone.GetDaylightChanges(DateTime.Now.Year).End;
    var stillInDaylightSavingTime= dayLightChangeEnd.Subtract(TimeSpan.FromMinutes(62));
    //stillInDaylightSavingTime.IsDaylightSavingTime() returns true
    //stillInDaylightSavingTime is 01.58 am
    var noDaylightSavingTimeAnymore= dayLightChangeEnd.Subtract(TimeSpan.FromMinutes(32));
    //noDaylightSavingTimeAnymore.IsDaylightSavingTime() returns false
    //noDaylightSavingTimeAnymore is 02.28 am
}
Run Code Online (Sandbox Code Playgroud)

但实际上我想模拟以下内容:

var stillInDaylightSavingTime = //for example 02.18 am BEFORE switching to Non-DST
var noDaylightSavingTimeAnymore = //for example 02.10 am AFTER switching to Non-DST
Run Code Online (Sandbox Code Playgroud)

所以问题是如何定义02.18 am是否为DST.

c# unit-testing mstest

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

调用EventHandler

我有以下EventHandler:

private EventHandler<MyEventArgs> _myEventHandler;
public event EventHandler<MyEventArgs> MyEvent
{
  add { _myEventHandler += value; }
  remove { _myEventHandler -= value; }
}  
Run Code Online (Sandbox Code Playgroud)

有人可以解释以下片段之间的区别吗?
Snippet EventHandler(A):

//Snippet A:
if (_myEventHandler != null)
{
  _myEventHandler(new MyEventArgs());
}
Run Code Online (Sandbox Code Playgroud)

Snippet BeginInvoke(B):

//Snippet B:
if (_myEventHandler != null)
{
  _myEventHandler.BeginInvoke(new MyEventArgs(), ar =>
  {
    var del = (EventHandler<MyEventArgs>)ar.AsyncState;
    del.EndInvoke(ar);
  }, _myEventHandler);
}
Run Code Online (Sandbox Code Playgroud)

澄清一下:调用EventHandler"就像它"和使用一样有什么区别BeginInvoke

c# event-handling begininvoke

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

将嵌套的ListBox绑定到嵌套的List?

我有以下ViewModel-Property:

public List<List<string>> Names .... //It's a dependency property
Run Code Online (Sandbox Code Playgroud)

在我看来,我希望ItemsControl有一个ItemsControl:

 <ItemsControl ItemsSource="{Binding Names}">
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <ItemsControl ItemsSource="{Binding ?????}">
                    <ItemsControl.ItemsPanel>
                        <ItemsPanelTemplate>
                            <StackPanel Orientation="Horizontal" />
                        </ItemsPanelTemplate>
                    </ItemsControl.ItemsPanel>
                    <ItemsControl.ItemTemplate>
                        <DataTemplate>
                            <Label Text="{Binding ??????}" />
                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                </ItemsControl>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
Run Code Online (Sandbox Code Playgroud)

我如何绑定到的项目List?在上面的代码示例中,我标记了它?????

wpf listbox itemtemplate

6
推荐指数
1
解决办法
2389
查看次数