lsh123: (Default)
Ссылка

C

Arrays can be indexed like so:

a[10]

which is very common. However, the lesser known form (which really does work!) is:

10[a]

which means the same as the above.

Java
Integer foo = 1000;
Integer bar = 1000;

foo
<= bar; // true
foo
>= bar; // true
foo
== bar; // false

//However, if the values of foo and bar are between 127 and -128 (inclusive)
//the behaviour changes:
Integer foo = 42;
Integer bar = 42;

foo
<= bar; // true
foo
>= bar; // true
foo
== bar; // true

JavaScript

'5' + 3 gives '53'

where

 '5' - 3 gives 2

WPF, WTF?

Dec. 20th, 2009 12:31 am
lsh123: (Default)
Старший ребенок делал эксперимент по физике, в котором измеряется частота звука в зависимости от длины и натяжения струны. Для измерения частоты, в описании эксперимента предлагалось использовать некую freeware программу. К сожалению, информация устарела и программа больше не бесплатная, а найти другую за 5 минут не получилось. Думаю ладно, сейчас я за полчаса напишу что-нибудь сам, ничего сложного ведь нет - читаем звук, запускаем FFT и выдаем самую сильную частоту. И тут я сдуру решил заодно посмотреть на WPF. Давно хотел, да повода не было. Так как я до сих пор нежно вспоминаю про MFC, а WinForms так просто лучший друг человека, то никаких подвохов я не ожидал.

Ну да, как же. Нет, главное окошечко в программе я создал. Звук прочитать смог. И FFT посчитать тоже смог. На все ушло примерно минут 40. Но потом я захотел чтобы было красиво и чтобы у программки было две кнопочки с картинками: "Start" и "Stop". И чтобы эти кнопочки еще делали enable/disable когда надо.

Я не буду рассказывать сколько времени я на это потратил. Мне просто стыдно. И это еще я использовал Google (всегда выручавший MSDN в этот раз серьезно оплошал). Но я покажу кусочек кода который делает картинку на кнопочке "серой", когда эта кнопочка становится "disabled":


    <Style TargetType="{x:Type Image}" x:Key="toolbarImageStyle">
        <Style.Triggers>
            <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type Button}, AncestorLevel=1}, Path=IsEnabled}" Value="False">
                <Setter Property="Opacity" Value="0.30" />
            </DataTrigger>
        </Style.Triggers>
    </Style>


Этот кусочек кода copy/paste-ится в один файл, потом другой файл упоминает этот файл неким странным образом. А потом еще надо правильно указать стили на собственно кнопочке в третьем файле (при этом используется абсолютно дурацкий синтакс!). А в дополнение к этому, я еще решил использовать "command framework" - и зачем я должен создавать эти RoutedUICommand ручками, когда там все равно CommandBinding есть???

Если это не шаманские пляски с бубном, то я даже не знаю, чем еще это может быть. Нет, я знаю, что WPF крут и позволяет видео с youtube.com на кнопочке показывать. Но можно, наверное, было сделать что-нибудь простенькое для тех, кому просто надо сделать две кнопочки с картинками. А так, получаем только привычно откликнувшееся эхо...

Profile

lsh123: (Default)
lsh123

January 2015

S M T W T F S
    123
45678910
1112131415 1617
18192021222324
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 20th, 2017 12:32 pm
Powered by Dreamwidth Studios