他の誰かに役立つ可能性があるため、これから説明する問題を解決する簡単な方法を見つけました。基本的に、メイン内で loopingselector を初期化する代わりに、外部で行うことができ、その後必要に応じて適切な関数を呼び出します。ここに例があります:
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();
}