2015-01-07 4 views
0

мне нужно всплывающее окно WPF внутри DataTemplate, что-то вроде этого:WPF Popup внутри DataTemplate

<ScrollViewer> 
    <ItemsControl ItemsSource="{Binding Collection}"> 
     <ItemsControl.ItemTemplate> 
      <DataTemplate> 
       <Grid> 
        <TextBox Name="MyTextboxBrief" Text="{Binding TextBrief}"/> 
        <Popup PlacementTarget="{Binding ElementName=MyTextboxBrief}" Placement="Center"> 
         <TextBox Name="MyTextboxVerbose" Text="{Binding TextVerbose}"/> 
        </Popup> 
       </Grid> 
      </DataTemplate> 
     </ItemsControl.ItemTemplate> 
    </ItemsControl> 
</ScrollViewer> 

Но это Popup должен вести себя так:

  1. он должен прокрутить вместе с соответствующим ItemsControl item
  2. когда окно приложения сведено к минимуму - оно не должно оставаться видимым на рабочем столе
  3. оно будет выше, чем ItemsControl, его содержимое не должно быть обрезано, но оно не должно меняться. sControl высота
  4. будет шире, чем соответствующий пункт ItemsControl - но он не должен смещаться другие элементы ItemsControl влево или вправо

У меня есть стойкое ощущение, что я каким-то образом использовать шаблон ComboBox - но Я не понимаю, как получить его всплывающее поведение

ответ

0

Я не думаю, что Popup поможет вам здесь, а не ComboBox. См., Если это вам поможет:

<DataTemplate> 
    <Grid> 
     <TextBox Name="MyTextboxBrief" Text="{Binding TextBrief}" /> 


     <!-- You might want to bind visibility against 
      some kind of property --> 
     <Canvas > 
      <Canvas.RenderTransform> 
       <!--In case you want to move--> 
       <TranslateTransform Y="-5" /> 
      </Canvas.RenderTransform> 

      <Border Width="100" Height="20" Background="Black"> 
       <TextBlock Text="Test" /> 
      </Border> 
     </Canvas> 
    </Grid> 
</DataTemplate> 
Смежные вопросы