В Visual Studio добавляют, что Ширина и Высота приписывают Вашему UserControl XAML, но в коде - позади вставки это
public UserControl1()
{
InitializeComponent();
if (LicenseManager.UsageMode != LicenseUsageMode.Designtime)
{
this.Width = double.NaN; ;
this.Height = double.NaN; ;
}
}
Это проверяет, чтобы видеть, работает ли управление в Режиме проектирования. Если не (т.е. время выполнения) это установит Ширину и Высоту к NaN (Не число), который является значением, Вы устанавливаете его на то, если Вы удаляете атрибуты Ширины и Высоты в XAML.
Так во время проектирования у Вас будут предварительно установленная ширина и высота (включая то, если Вы поместите пользовательский элемент управления в форму), и во времени выполнения это прикрепится в зависимости от его родительского контейнера.
Hope, которая помогает.
You could use end_of_week (AFAIK only available in Rails)
>> Date.new(2009, 11, 19).end_of_week - 2
=> Fri, 20 Nov 2009
But this might not work, depending what exactly you want. Another way could be to
>> d = Date.new(2009, 11, 19)
>> (d..(d+7)).find{|d| d.cwday == 5}
=> Fri, 20 Nov 2009
lets assume you want to have the next friday if d is already a friday:
>> d = Date.new(2009, 11, 20) # was friday
>> ((d+1)..(d+7)).find{|d| d.cwday == 5}
=> Fri, 27 Nov 2009
d = Date.new(2009, 11, 19)
d+=(5-d.wday) > 0 ? 5 - d.wday : 7 + 5 - d.wday
Поскольку операция по модулю Ruby (%) возвращает положительные числа, когда ваш делитель положительный, вы можете сделать это:
some_date = Date.new(2009, 11, 19)
next_friday = some_date + (5 - some_date.cwday) % 7
Единственная проблема, которую я вижу здесь, если some_date
- это пятница, то next_friday
будет той же датой, что и some_date
. Если это нежелательное поведение, вместо него можно использовать небольшую модификацию:
some_date = Date.new(...)
day_increment = (5 - some_date.cwday) % 7
day_increment = 7 if day_increment == 0
next_friday = some_date + day_increment
Этот код не полагается на дополнительные внешние зависимости, а в основном полагается на целочисленную арифметику.
Rails ' ActiveSupport :: CoreExtensions :: Date :: Calculations имеет методы, которые могут помочь ты. Если вы не используете Rails, вам может потребоваться ActiveSupport.