kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

SilverlightのComboBox.IsDropDownOpenはXAMLに設定できる?

id:kkamegawa:20101208:p1ではまっていた件、やっとわかりました。というか、ちゃんとエラーメッセージ見ていればXAMLの位置まで書いていたのに。
MSDNによると、SilverlightComboBox.IsDropDownOpenは「コンボ ボックスのドロップダウン部分が現在開いているかどうかを示す値を取得または設定します。」とあります。意図していなかったというか、間違えてこれをtrueに設定したままコンパイルしていました。こんな感じ。

<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
  <ComboBox Name="Combo1" Width="100" FontSize="16" SelectedIndex="0" IsDropDownOpen="true">
    <ComboBoxItem Content="テスト1" ></ComboBoxItem>
    <ComboBoxItem Content="テスト2" ></ComboBoxItem>
    <ComboBoxItem Content="テスト3" ></ComboBoxItem>
  </ComboBox>
</StackPanel>

ところが、このIsDropDownOpenプロパティにtrueに設定していると*1Silverlight起動時にXamlParseExceptionが発生し、プロパティに対応するVALUEがないという、E_AG_BAD_PROPERTY_VALUEが発生します。
うーん、確かに悪いんだけれども、これはコンパイルエラーにならないものかな…というか、ドキュメント間違い?環境は昨日書いた通り、Visual Studio 2008 SP1+Silverlight 4(開発は当然3)です。

*1:なぜかやってしまっていた