2012-08-11 42 views
0

我使用loopingselector可視化的標誌,這是裝在一個列表中的經典方式,如圖:WP7項目

public MainPage() 
{ 
    InitializeComponent(); 

    List<DataContinent> data = new List<DataContinent>(); 
    data.Add(new DataContinent() { Flag = new Uri("/Images/Albania.png", UriKind.Relative).ToString() }); 
    data.Add(new DataContinent() { Flag = new Uri("/Images/Andorra.png", UriKind.Relative).ToString() }); 
    ... 
    ... 
    this.loopingSelectorContinent.DataSource = new ListLoopingDataSource<DataContinent>() {Items = data, SelectedItem = data[0]}; 
} 

是否有可能在loopingselector加載,在運行時,根據所選大陸的不同圖像,或作爲替代,防止某些項目的循環?

回答

0

我發現了一個簡單的方法來解決我將要描述的問題,因爲它可能對其他人有用。 基本上,不是初始化主內部的循環選擇器,而是在外部完成,然後在必要時調用正確的功能。 這裏是一個例子:

public MainPage() 
{ 
    InitializeComponent(); 
    Europe(); //standard visualization 
} 

public void Europe() 
{ 
    List<DataContinent> data = new List<DataContinent>(); 
    data.Add(new DataContinent() { Flag = new Uri("/Images/Albania.png", UriKind.Relative).ToString() }); 
    data.Add(new DataContinent() { Flag = new Uri("/Images/Andorra.png", UriKind.Relative).ToString() }); 
    ... 
    ... 
    this.loopingSelectorContinent.DataSource = new ListLoopingDataSource<DataContinent>() {Items = data, SelectedItem = data[0]}; 
} 
public void Africa() 
{ 
    List<DataContinent> data = new List<DataContinent>(); 
    data.Add(new DataContinent() { Flag = new Uri("/Images/Algeria.png", UriKind.Relative).ToString() }); 
    data.Add(new DataContinent() { Flag = new Uri("/Images/Angola.png", UriKind.Relative).ToString() }); 
    ... 
    ... 
    this.loopingSelectorContinent.DataSource = new ListLoopingDataSource<DataContinent>() {Items = data, SelectedItem = data[0]}; 
} 

private void button1_Click(object sender, RoutedEventArgs e) //loopingselector populated with European flags 
{ 
Europe(); 
} 

private void button2_Click(object sender, RoutedEventArgs e) //loopingselector populated with African flags 
{ 
Africa(); 
}