9/11/2007
Windows Live Translator
Microsoftの翻訳サイトがBeta版として公開されています。
面白いのは表示モードが4種類あることですね。
原文と訳文を左右、上下に並べることができます。
このとき、マウスが乗っている文章が、原文、訳文ともにハイライトされます。
また、原文のみを表示した場合は、マウスが乗っている文章の訳文がツールチップのように表示されます。
逆に、訳文のみのときは、原文がツールチップになります。
自動翻訳だと訳文の方が意味がわからないことも多いので、原文と見比べられるのは便利ですね。


8/10/2007
Microsoftのフリーの共有フォルダの名前がWindows Live SkyDriveに決まりましたね。
詳しくはこちら。
早く、日本でも使えるようになるといいな。
7/10/2007
さて本題。
IdentityMine社のBlendablesがすごい。
Zoomboxもすごいんだけど、今回はSimpleBindingとEvalBindingに注目。
前回のポストで、自分自身のプロパティにアクセスするには、
Height="{Binding RelativeSource={RelativeSource self}, Path=Width}
って書いたけど、SimpleBindingを使うとこうなる。
{blendables:SimpleBinding [{Self}.Width]}
あら、簡単。
しかもEvalBindingを使うとこうなる。
{blendables:EvalBinding [{Self}.Width]/2}
なんと、Binding内で演算が可能なのだ。これは便利!
サンプルコード
<Window x:Class="WindowsApplication5.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:blendables="http://schemas.identitymine.com/blendables"
Title="WindowsApplication5" Height="300" Width="300"
>
<StackPanel>
<Slider Value="100"
Minimum="0"
Maximum="{blendables:SimpleBinding [{Self}.ActualWidth]}"
x:Name="EllipseSize" />
<Grid>
<Ellipse Fill="Red"
Width="{Binding ElementName=EllipseSize, Path=Value}"
Height="{blendables:EvalBinding [{Self}.Width]/2}" />
<Ellipse Fill="Blue"
Width="{blendables:EvalBinding [EllipseSize.Value]/4}"
Height="{blendables:EvalBinding [{Self}.Width]*2}" />
</Grid>
</StackPanel>
</Window>

自分自身のプロパティとバインドしたいときは、次のように書く。
Height="{Binding RelativeSource={RelativeSource self}, Path=Width}
サンプルはこんな感じ。
<Window x:Class="WindowsApplication5.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WindowsApplication5" Height="300" Width="300"
>
<StackPanel>
<Slider Value="100"
Minimum="0"
Maximum="{Binding RelativeSource={RelativeSource self}, Path=ActualWidth}"
x:Name="EllipseSize" />
<Ellipse Fill="Red"
Width="{Binding ElementName=EllipseSize, Path=Value}"
Height="{Binding RelativeSource={RelativeSource self}, Path=Width}" />
</StackPanel>
</Window>
