2016-03-07 94 views
0

我有一个翻转视图和3个图像,我希望它自动更改图像,问题是我使用了绑定技术,但它不起作用,我得到白色图像我flipView,这是我的代码:如何使用DataBinding在FlipView中显示3张图像

MyPage.cs:

private void AddImageIntoList() 
     { 
      var page1 = new SampleItem() 
      { 
       Image1 = "images/img1.jpg", 
      }; 

      var page2 = new SampleItem() 
      { 
       Image2 = "images/img2.jpg", 
      }; 

      var page3 = new SampleItem() 
      { 
       Image3 = "images/img3.jpg", 
      }; 

      var pages = new List<SampleItem>() 
      { 
       page1, 
       page2, 
       page3 
      }; 

      flipView1.ItemsSource = pages; 
      ContextControl.ItemsSource = pages; 
      ContextControl.SelectionChanged += ContextControl_SelectionChanged; 
     }} 

MyPage.xaml.cs:

<FlipView x:Name="flipView1" Background="Transparent" IsSynchronizedWithCurrentItem="False"> 
      <FlipView.ItemTemplate> 
       <DataTemplate > 
        <Grid> 
         <Grid.Background> 
          <ImageBrush Stretch="UniformToFill" ImageSource="{Binding}" /> 
         </Grid.Background> 
        </Grid> 
       </DataTemplate> 
      </FlipView.ItemTemplate> 
</FlipView> 

ButtonImages.cs:

public class SampleItem 
     { 

     public string Image1 { get; set; } 
     public string Image2 { get; set; } 
     public string Image3 { get; set; } 
    } 

    public class ButtonImages 
    { 
     public List<SampleItem> SampleItems { get; set; } 

      public ButtonImages() 
      { 
       SampleItems = new List<SampleItem>(); 

       SampleItems.Add(new SampleItem() 
       { 
        Image1 = "images/img1.jpg" 
       }); 

       SampleItems.Add(new SampleItem() 
       { 
        Image2 = "images/img2.jpg" 
       }); 

      SampleItems.Add(new SampleItem() 
      { 
       Image3 = "images/img3.jpg" 
      }); 

}

所以请我怎么能纠正我的代码显示在FlipView那些3个图像与数据绑定

感谢您的帮助

回答

1

我不知道为什么SampleItem类有三个属性Image1-3。它应该只有一个属性Image(或者你可以忽略SampleItem类,只使用字符串 - 图像路径)。之后,将您在ImageBrush中的绑定更改为:

ImageSource="{Binding Image}" 
+0

非常感谢Sir先生现在可以工作:D – user3821206

+0

Sir?没关系。 –

相关问题