各州のホットスポットを含むマップがあります (Expression Blend で作成)。状態 (1 ~ 50) の各 MouseEnter をキャプチャします。それをドメイン データ ソースに渡します。
Dim activebox As Path = TryCast(sender, Path)
activebox.Fill = mouseOverColor
Dim StateID As Integer = CInt(Right(activebox.Name, 2))
Dim _StateContext As New StateContext
myDataGrid.ItemsSource = _StateContext.States
_StateContext.Load(_StateContext.GetStateByStateIDQuery(StateID.Text))
上記は、データグリッド、リストボックス、さらにはデータフォームでもうまく機能します。
しかし、テキストブロックを持つスタックパネルでポップアップを作成しました。
popupStatesBox.DataContext = ??????????????
popupStatesBox.IsOpen = True 'popup does open but has no data
-- popupStatesBox.xaml
<Popup x:Name="popupStatsBox" Margin="8,35,0,8" DataContext="{Binding}" IsOpen="false" Width="268" HorizontalAlignment="Left"> <StackPanel x:Name="Layout" Background="Black"> <TextBlock x:Name="tbState" Text="{Binding StateName /> <TextBlock x:Name="tbAbbrev" Text="{Binding Abbreviation}" /> </StackPanel> </Popup>
_StateContext からの値を表示するテキストブロックを取得するにはどうすればよいですか。
StackPanel には DataContext がありますが、ItemsSource はありません。私は何が欠けていますか?