本文整理匯總了C#中Behavior.SubscribeWithInitialFire方法的典型用法代碼示例。如果您正苦於以下問題:C# Behavior.SubscribeWithInitialFire方法的具體用法?C# Behavior.SubscribeWithInitialFire怎麽用?C# Behavior.SubscribeWithInitialFire使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Behavior
的用法示例。
在下文中一共展示了Behavior.SubscribeWithInitialFire方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: Form1
public Form1()
{
InitializeComponent();
startBtn.Click += (o, s) => runningEvent.Fire(true);
stopBtn.Click += (o, s) =>
{
degreesSignal.Stop();
runningEvent.Fire(false);
};
frequency.ValueChanged += (o, s) => intervalChanged.Fire(frequency.Value);
degreesSignal = new Signal<double>(new AutoDouble(0.0, 0.001), Frequency.Hz(0.0), this.CreateDispatcher());
degreesSignal.Subscribe(SetDegValue);
signalTickCount = degreesSignal.Snapshot(new AutoLong());
signalTickCount.Subscribe(SetTickCount);
radiansSignal = degreesSignal.Map(d => d * RadsPerDeg);
radiansSignal.Subscribe(SetRadValue);
sineSignal = radiansSignal.Map(Math.Sin);
sineSignal.Subscribe(SetSinValue);
cosineSignal = radiansSignal.Map(Math.Cos);
cosineSignal.Subscribe(SetCosValue);
runningEvent = new FirableEvent<bool>();
runningEvent.Subscribe(r => { degreesSignal.Running = r; });
runningBehavior = runningEvent.Hold(false);
runningBehavior.SubscribeWithInitialFire(EnableControls);
intervalChanged = new FirableEvent<decimal>();
intervalBehavior = intervalChanged.Hold(frequency.Value);
intervalBehavior.Map(Frequency.Hz).SubscribeWithInitialFire(FrequencyChanged);
}
示例2: InitializeMouseHandler
private void InitializeMouseHandler()
{
mouseButtonEvent = new FirableEvent<MouseStatus>();
mouseMoveEvent = new FirableEvent<MouseEventArgs>();
mouseButtonBehavior = mouseButtonEvent.Hold(MouseStatus.Up);
this.mouseButtonDown = new EqualityPredicate<MouseStatus>(mouseButtonBehavior, MouseStatus.Down);
mouseDragEvent = mouseMoveEvent.Gate(this.mouseButtonDown);
mouseButtonBehavior.SubscribeWithInitialFire(a =>
{
status.Text = string.Format("{0} {1}", a, DateTime.Now);
});
mouseDragEvent.Map(e => new Tuple<string, string>(e.X.ToString(), e.Y.ToString())).Subscribe(t =>
{
x.Text = t.Item1;
y.Text = t.Item2;
});
MouseMove += (s, e) => mouseMoveEvent.Fire(e);
MouseDown += (s, e) => mouseButtonEvent.Fire(MouseStatus.Down);
MouseUp += (s, e) => mouseButtonEvent.Fire(MouseStatus.Up);
}