각 상태에 대한 핫스팟이있는지도가 있습니다 (Expression Blend에서 완료 됨). 상태 (1부터 50까지)의 각 MouseEnter를 캡처합니다. 나는 그것을 내 도메인 데이터 소스로 전달한다.도메인 데이터 소스를 사용하여 데이터 블록을 TextBlock에 바인딩
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))
위의 내용은 DataGrid, 목록 상자 및 심지어 데이터 형식에서도 유효하다.
하지만 텍스트 패널이있는 스택 패널로 팝업을 만들었습니다.
popupStatesBox.DataContext = ??????????????
popupStatesBox.IsOpen = True 'popup does open but has no data
-
<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>
popupStatesBox.xaml
은 어떻게 textblocks가 _StateContext에서 값을 표시 할 수 없습니다.StackPanel에는 DataContext가 있지만 ItemsSource는 없습니다. 내가 뭘 놓치고 있니? 이미이 아마 당신이 후에있는 물건의 일종이다 다음 맥락에서 미국의 모음을로드 한 가정
작업 예제는 어떻게 생겼습니까? 나는 당신이 당신의 팝업 대신에 ListBox를 어떻게 사용할 것인지를 고민하고있다. – AnthonyWJones
물론 상태 수집에 필요한 상태 데이터가 이미 있습니까? – AnthonyWJones