x:Name探訪(その1) ElementName

だいぶお久しぶりになりました。
Silverlight3 Beta1 もでて結構な時間がたちましたが、最近やっと触れる状況になったのでボチボチ更新をしていきます。


というこうとで x:Name をちょっといろいろ触ってみます。


Silverlight 3 からようやく念願の Binding での ElementName プロパティがサポートされました。とりあえず手始めにありがちなサンプルを作ってみます。

<UserControl x:Class="XNameResearch1.MainPage"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
  Width="400" Height="300">
  <StackPanel x:Name="LayoutRoot" Background="White">
    <Slider x:Name="SliderElement"/>
    <TextBlock Text="{Binding ElementName=SliderElement,Path=Value}" FontSize="50" />
  </StackPanel>
</UserControl>


バッチリ動きます。


なぜ、ElementName を持ちだしたかというと、ElementName と同時に NameScope も実装されてるやろうから動きが変わってるかもなぁ、と勝手に予想していたのですが、実際には NameScope はどこにもなかったからです。


ということで、x:Name がどういうときにどういう動きをするのかを、Silverlight 2 でのケースを思い出しながらボチボチ書いていきたいと思います。