0

次のように、古典的な方法でリストにロードされるフラグを視覚化するために loopingselector を使用しています。

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 にロードすることは可能ですか? あるいは、一部のアイテムのループを防ぐことはできますか?

4

1 に答える 1

0

他の誰かに役立つ可能性があるため、これから説明する問題を解決する簡単な方法を見つけました。基本的に、メイン内で 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();
}
于 2012-08-12T20:00:56.057 に答える