2015-08-23 6 views
0

В настоящее время у меня есть список с несколькими строками, и если условие действительно, я хочу, чтобы изображение из строки отображалось и отображалось в следующую строку. Это возможно? Я пробовал, но изображение обрезается следующей строкой и идет «под» следующим listboxitem вместо того, чтобы идти поверх него. Любая помощь будет оценена по достоинству.Изображение WPF Span через несколько строк списка

ответ

0

Да, это возможно. Если элемент управления находится внутри холста, его можно разместить за пределами холста. Таким образом, вы можете использовать эту функцию, чтобы гарантировать, что ваш элемент управления не обрезается. Так, например, вы можете сделать что-то вроде:

<ListView ItemsSource="{Binding}"> 
     <ListView.ItemTemplate> 
      <DataTemplate> 
       <Grid> 
        <TextBlock Text="{Binding Text}" /> 
        <Canvas> 
         <Rectangle Visibility="{Binding ShowOverlap}" Width="100" Height="100" Opacity="0.5"> 
          <Rectangle.Fill> 
           <ImageBrush ImageSource="house2.png" Stretch="UniformToFill" /> 
          </Rectangle.Fill> 
         </Rectangle> 
        </Canvas> 
       </Grid> 
      </DataTemplate> 
     </ListView.ItemTemplate> 
    </ListView> 

С некоторым фоновым кодом от:

public partial class MainWindow : Window 
{ 
    public class Item 
    { 
     public string Text { get; set; } 
     public Visibility ShowOverlap { get; set; } 
    } 

    public MainWindow() 
    { 
     InitializeComponent(); 

     List<Item> items = new List<Item>(); 
     items.Add(new Item() { Text = "Test1", ShowOverlap = Visibility.Hidden }); 
     items.Add(new Item() { Text = "Test2", ShowOverlap = Visibility.Visible }); 
     items.Add(new Item() { Text = "Test3", ShowOverlap = Visibility.Hidden }); 
     DataContext = items; 
    } 
} 

И вы увидите, что появляется 100 х 100 прямоугольник, перекрывающий ListViewItem. Вы можете сделать то же самое, но поместите свое изображение в холст.

+0

Эй, я попытался реализовать холст вокруг моего изображения, как вы сделали с вашим прямоугольником, но изображение по-прежнему «находится под» следующим listboxitem вместо ontop, я что-то упустил? – cravie

+0

@cravie - см. Мое обновление - вы правы, если используете изображение напрямую, но вы можете избежать этого ограничения, используя прямоугольник с ImageBrush как fill :) – user3690202

+0

thx! заставил его работать! – cravie

Смежные вопросы