2011-01-18 3 views
0

listBox에서 관찰 가능한 컬렉션을 바인딩합니다. 목록 상자 항목에 데이터 tempate가 있습니다. 하나의 이미지 컨트롤과 som textBlock을 사용합니다.mouser가 listBox 항목 위에있을 때 "팝업 창"표시

  • 표시 팝업/도구 설명 (컨트롤 일부 "사각형") 및 목록 상자 현재 항목의 값을 바인딩 : 마우스 일부 목록 상자 항목을 초과하는 경우

    나는이 동작을 달성하고 싶습니다.

  • 그리고 item 데이터 템플릿의 textBox에 스타일이 있습니다. 예를 들어 검정에서 녹색으로 textBlock의 텍스트 색상을 변경하고 싶습니다.

스타일이 여기에 있습니다 : 내 영어에 대한

 <Style x:Key="FriedNickStyle" TargetType="TextBlock"> 
      <Setter Property="Margin" Value="2,2,2,2"/> 
      <Setter Property="FontSize" Value="13"/> 
      <Setter Property="FontWeight" Value="Medium"/> 
      <Setter Property="Foreground" Value="Black"/> 
     </Style> 

Sory,이 행동이 올바른 설명 방법에 문제가 있습니다. 나는 많은 것을 시도하지만 그들 중 어떤 것도 잘 작동하지 않습니다.

 <DataTemplate x:Key="FriendListBoxItemTemplate"> 
       <Grid Name="RootLayout"> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="0.3*"></ColumnDefinition> 
         <ColumnDefinition Width="*"></ColumnDefinition> 
        </Grid.ColumnDefinitions> 
        <Grid.RowDefinitions> 
         <RowDefinition Height="60"></RowDefinition> 
        </Grid.RowDefinitions> 
        <Image Margin="4,4,4,2" Grid.Column="0"> 
         <Image.Source > 
          <MultiBinding Converter="{StaticResource avatarConverter}"> 
           <Binding Path="ProfilePhoto"></Binding> 
           <Binding Path="StatusInfo.IsLogged"></Binding> 
          </MultiBinding> 
         </Image.Source> 
        </Image> 
        <Grid Grid.Column="1"> 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition Width="*"></ColumnDefinition> 
         </Grid.ColumnDefinitions> 
         <Grid.RowDefinitions> 
          <RowDefinition Height="*"></RowDefinition> 
         </Grid.RowDefinitions> 
        <TextBlock 
             Text="{Binding Path=Nick}" 
             Style="{StaticResource FriedNickStyle}" 
             Grid.Column="0" Grid.Row="0"> 
        </TextBlock> 
        </Grid> 
       </Grid> 
       <DataTemplate.Triggers> 
        <Trigger Property="IsMouseOver" Value="True"> 
         <!--SHOW SOME POP UP WINDOW and bind properties from ITEM (VALUE)--> 
<!--Change color of textBlock--> 
        </Trigger> 
       </DataTemplate.Triggers> 
      </DataTemplate> 

날 도와 모두 감사합니다

여기 내 스타일이다.

+0

당신이 구글에서 물어 본 적이 : 기본적으로, 여기 방법은? – BlackBear

+0

Sory, finnaly 나는 대답한다. 그것은 효과가 있지만, 좋은 해결책이라면 나는 그렇지 않다. –

답변

1

글쎄, 나는이 turorial, this article, by the MSDN 및 또 다른 stack overflow's question을 발견했다.

<Popup Margin="10,10,0,13" 
    Name="Popup1" 
    HorizontalAlignment="Left" 
    VerticalAlignment="Top" 
    Width="194" 
    Height="200" 
    IsOpen="True">      // change this to open it 

    <TextBlock Name="McTextBlock" Background="LightBlue" > 
     This is popup text 
    </TextBlock> 

+0

안녕하세요, thak 나는 비슷한 해결책을 가지고 있습니다 ... 어리석은 질문이 있으신 분 –

+0

@ user572844 : 당신은 환영합니다. 모두가 어리석은 질문을했다.) – BlackBear

관련 문제